:root {
  --bg: #f5f5f7;
  --panel: rgba(255, 255, 255, 0.86);
  --panel-solid: #ffffff;
  --text: #1d1d1f;
  --muted: #6e6e73;
  --line: #d9d9df;
  --line-soft: #ececf1;
  --blue: #0071e3;
  --green: #1d9a6c;
  --amber: #b7791f;
  --red: #c2413a;
  --ink: #0f172a;
  --shadow: 0 18px 60px rgba(15, 23, 42, 0.08);
  --radius: 8px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.9), rgba(245,245,247,0.9)),
    radial-gradient(circle at 70% 0%, rgba(0,113,227,0.12), transparent 30%);
  color: var(--text);
}

button,
input,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 28px 18px;
  border-right: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(22px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 0 8px;
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--text);
  color: white;
  font-weight: 700;
  letter-spacing: 0;
  object-fit: cover;
  display: block;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.2;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(26px, 3vw, 40px);
  letter-spacing: 0;
}

h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.nav {
  display: grid;
  gap: 6px;
}

.nav button {
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: var(--radius);
  padding: 12px;
  color: var(--muted);
  background: transparent;
}

.nav button.active {
  color: var(--text);
  background: rgba(0, 113, 227, 0.09);
  font-weight: 700;
}

.sidebar-note {
  margin-top: auto;
  border-top: 1px solid var(--line-soft);
  padding: 16px 8px 0;
  color: var(--muted);
  display: grid;
  gap: 4px;
  font-size: 13px;
}

.sidebar-note strong {
  color: var(--text);
}

.workspace {
  padding: 28px clamp(18px, 4vw, 48px) 56px;
  min-width: 0;
}

.topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}

.actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.topbar-incentive-action { display: none; }
.topbar.incentive-mode { justify-content: flex-end; margin-bottom: 16px; }
.topbar.incentive-mode .topbar-title,
.topbar.incentive-mode #history-count,
.topbar.incentive-mode #reset-sample,
.topbar.incentive-mode #download-report { display: none; }
.topbar.incentive-mode .topbar-incentive-action { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.topbar.incentive-mode .actions { width: 100%; align-items: center; }
.topbar.incentive-mode .cloud-status { margin-right: auto; }

.primary-button,
.ghost-button,
.small-button {
  min-height: 38px;
  border-radius: var(--radius);
  padding: 0 14px;
  border: 1px solid var(--line);
  background: var(--panel-solid);
  color: var(--text);
}

.primary-button {
  border-color: var(--blue);
  background: var(--blue);
  color: white;
}

.small-button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 13px;
}

.view {
  display: none;
}

.view.active {
  display: grid;
  gap: 18px;
}

.hero-panel,
.panel {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,0.8);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}

.hero-panel {
  padding: clamp(20px, 3.5vw, 36px);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 24px;
  align-items: stretch;
}

.hero-number {
  font-size: clamp(46px, 8vw, 92px);
  font-weight: 750;
  line-height: 0.95;
  letter-spacing: 0;
}

.hero-label {
  color: var(--muted);
  margin: 10px 0 18px;
}

.diagnosis {
  padding: 18px;
  border-left: 3px solid var(--blue);
  background: rgba(0,113,227,0.07);
  border-radius: var(--radius);
}

.grid {
  display: grid;
  gap: 14px;
}

.grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.panel {
  padding: 18px;
}

.metric-card {
  min-height: 132px;
  display: grid;
  gap: 8px;
  align-content: start;
  background: var(--panel-solid);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: 16px;
}

.metric-title {
  color: var(--muted);
  font-size: 13px;
}

.metric-value {
  font-size: 28px;
  line-height: 1.1;
  font-weight: 730;
}

.metric-percentile-card {
  min-height: 270px;
}

.metric-percentile-visual {
  margin-top: 4px;
  padding: 12px 13px 11px;
  border: 1px solid #dce5f1;
  border-radius: 9px;
  background: linear-gradient(145deg, #f8fbff, #fff);
}

.metric-percentile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
}

.metric-percentile-head strong {
  color: #185bd5;
  font-size: 20px;
  line-height: 1;
}

.metric-percentile-visual p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.metric-score-overview-section {
  border-top: 4px solid var(--blue);
  background: linear-gradient(125deg, rgba(222,233,251,.78), rgba(247,250,254,.96) 60%, rgba(234,246,241,.72));
}

.metric-score-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.metric-score-overview-card {
  display: grid;
  grid-template-columns: minmax(245px, .75fr) minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
  min-height: 224px;
  padding: 18px;
  border: 1px solid #d9e4f2;
  border-top: 3px solid #1761dc;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(237,244,255,.96), rgba(250,252,255,.98));
  box-shadow: 0 9px 24px rgba(20,50,90,.055);
}

.metric-score-overview-card.is-invalid {
  border-style: dashed;
  border-top-style: solid;
  background: linear-gradient(145deg, #fafbfd, #f4f6f9);
}

.metric-score-overview-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.metric-score-overview-main .metric-title {
  color: #14233d;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.metric-score-overview-value {
  margin: 24px 0 13px;
  color: #185bd5;
  font-size: clamp(50px, 4.4vw, 68px);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: .86;
}

.metric-score-overview-grade.status {
  padding: 5px 11px;
  font-size: 14px;
}

.metric-score-overview-main .metric-note {
  margin-top: 11px;
  color: #243952;
  font-size: 14px;
  font-weight: 600;
}

.metric-score-overview-percentile {
  display: flex;
  min-width: 0;
  margin-top: 0;
  flex-direction: column;
  justify-content: center;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 20px rgba(14,29,54,.06);
}

.metric-note {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.problem-card {
  border-color: rgba(194, 65, 58, 0.16);
}

.status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 700;
}

.status.excellent {
  color: #0f6848;
  background: rgba(29,154,108,0.14);
}

.status.good {
  color: #175f9d;
  background: rgba(0,113,227,0.12);
}

.status.warning {
  color: #8a580f;
  background: rgba(183,121,31,0.16);
}

.status.danger {
  color: #9f2f2a;
  background: rgba(194,65,58,0.14);
}

.status.invalid {
  color: #5f6c80;
  background: #edf1f5;
}

.metric-percentile-card.is-invalid {
  border-style: dashed;
  background: linear-gradient(145deg, #fafbfd, #f4f6f9);
}

.form-toolbar,
.upload-panel,
.section-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

.upload-box input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.upload-box label {
  display: inline-grid;
  place-items: center;
}

.segmented {
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  background: #e9e9ee;
  padding: 3px;
  border-radius: var(--radius);
  gap: 3px;
}

.segmented button {
  border: 0;
  border-radius: 6px;
  padding: 8px 12px;
  background: transparent;
  color: var(--muted);
}

.segmented button.active {
  background: white;
  color: var(--text);
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08);
}

.form-section {
  display: grid;
  gap: 12px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.field {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line-soft);
  background: var(--panel-solid);
  border-radius: var(--radius);
}

.field label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.3;
}
.workbook-sheet-field label em { color:#0f9b79; font-size:11px; font-style:normal; font-weight:800; }
.workbook-unlock-all { min-height:34px; padding:0 10px; border:1px solid #9ec0ef; border-radius:7px; color:#1761dc; background:#edf5ff; font-size:12px; font-weight:800; cursor:pointer; }
.workbook-unlock-all:hover { border-color:#1761dc; background:#e2efff; }

.field input,
.field select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  min-height: 38px;
  padding: 0 10px;
  color: var(--text);
  background: #fbfbfd;
}

.tax-percent-input,
.config-percent-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: stretch;
}

.tax-percent-input input,
.config-percent-input input {
  border-radius: 7px 0 0 7px;
  text-align: right;
  font-weight: 800;
}

.tax-percent-input span,
.config-percent-input span {
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-left: 0;
  border-radius: 0 7px 7px 0;
  color: #24456e;
  background: #eef4fc;
  font-weight: 800;
}

.field .hint {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.field.field-invalid {
  border-color: rgba(194, 65, 58, 0.42);
  background: #fff9f8;
}

.field.field-invalid input {
  border-color: #c2413a;
  background: #fff;
}

.field-error {
  color: #a5322d;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.data-quality-panel {
  border-color: rgba(194, 65, 58, 0.28);
  background: linear-gradient(135deg, #fff8f6, #fffdf9);
}

.data-quality-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.data-quality-icon {
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  background: #c2413a;
  font-weight: 800;
}

.data-quality-panel h3,
.data-quality-panel p {
  margin: 0;
}

.data-quality-panel p {
  margin-top: 4px;
  color: #7b4a45;
  font-size: 13px;
  line-height: 1.5;
}

.data-quality-panel ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0 40px;
  padding: 0;
  color: #6f302c;
}

.data-quality-panel li {
  line-height: 1.5;
}

.data-quality-panel li span {
  display: block;
  color: #8f5f59;
  font-size: 12px;
}

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  background: white;
}

th,
td {
  text-align: left;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 14px;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 12px;
  background: #fbfbfd;
}

tr:last-child td {
  border-bottom: 0;
}

.bar-track {
  height: 8px;
  border-radius: 999px;
  background: #ececf1;
  overflow: hidden;
}

.bar-fill {
  height: 100%;
  background: var(--blue);
  border-radius: inherit;
}

.waterfall {
  display: grid;
  gap: 10px;
}

.waterfall-row {
  display: grid;
  grid-template-columns: 92px minmax(100px, 1fr) 92px;
  gap: 12px;
  align-items: center;
}

.waterfall-label,
.waterfall-value {
  color: var(--muted);
  font-size: 13px;
}

.waterfall-value {
  text-align: right;
  color: var(--text);
  font-weight: 650;
}

.waterfall-track {
  height: 12px;
  border-radius: 999px;
  background: #ececf1;
  overflow: hidden;
}

.waterfall-bar {
  height: 100%;
  border-radius: inherit;
}

.waterfall-bar.base {
  background: var(--blue);
}

.waterfall-bar.cost {
  background: #a1a1aa;
}

.waterfall-bar.profit {
  background: var(--green);
}

.pie-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

.pie-chart {
  width: min(260px, 100%);
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.pie-legend {
  display: grid;
  gap: 10px;
}

.pie-row {
  display: grid;
  grid-template-columns: 14px minmax(90px, 1fr) minmax(110px, auto) minmax(64px, auto);
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
}

.pie-row strong {
  color: var(--text);
  text-align: right;
}

.pie-row em {
  font-style: normal;
  text-align: right;
}

.pie-swatch {
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

.callout {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: 14px;
  background: #fbfbfd;
  color: var(--muted);
  line-height: 1.55;
}

.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  background: var(--text);
  color: white;
  padding: 12px 14px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: 0.2s ease;
  z-index: 10;
}

.toast.show {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    padding: 16px;
  }

  .nav {
    display: flex;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .nav button {
    white-space: nowrap;
    width: auto;
  }

  .sidebar-note {
    display: none;
  }

  .hero-panel,
  .grid.cols-2,
  .grid.cols-3,
  .grid.cols-4,
  .form-grid,
  .pie-layout {
    grid-template-columns: 1fr;
  }

  .topbar {
    display: grid;
  }

  .actions {
    justify-content: start;
  }
}

@media (max-width: 560px) {
  .history-analysis-object-menu { min-width:100%; }
  .workspace {
    padding: 18px 12px 42px;
  }

  .brand {
    padding: 0;
  }

  .hero-panel,
  .panel {
    padding: 14px;
  }

  table {
    min-width: 620px;
  }

  .waterfall-row {
    grid-template-columns: 78px minmax(80px, 1fr) 78px;
    gap: 8px;
  }
}

/* V2.0.4 — 紧凑工具导航、累计分析卡与注册资料步骤 */
.topbar[hidden] { display: none !important; }
.workspace.tool-header-compact { padding-top: 12px; }

.sidebar { z-index: 600; overflow: visible; }
.sidebar-toggle { z-index: 700; }
.sidebar-account { z-index: 800; }
.sidebar-account-menu { z-index: 9000; }
.app-shell.sidebar-collapsed .sidebar { z-index: 0; }

.brand { min-height: 48px; gap: 13px; }
.brand > div:last-child { display: flex; align-items: center; }
.brand-slogan {
  margin: 0;
  gap: 3px 9px;
  font-size: 13.5px;
  line-height: 1.25;
}

.profit-tool-tabs {
  margin: 0 0 18px;
  padding: 7px;
  gap: 0;
}
.profit-tool-tabs-list { justify-content: flex-start; }
.profit-tool-tabs-list button { min-height: 40px; padding-inline: 19px; }

.dashboard-download-button {
  display: flex;
  width: fit-content;
  min-height: 36px;
  margin-top: 16px;
  padding: 0 16px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(23,97,220,.25);
  border-radius: 9px;
  color: #1658c8;
  background: rgba(255,255,255,.84);
  box-shadow: 0 7px 18px rgba(23,97,220,.1);
  font-size: 13px;
  font-weight: 800;
}
.dashboard-download-button:hover { color: #fff; border-color: #1761dc; background: #1761dc; transform: translateY(-1px); }

.dashboard-archive-card {
  position: relative;
  align-self: stretch;
  display: grid;
  min-height: 252px;
  padding: 11px 12px 9px;
  align-content: center;
  justify-items: center;
  row-gap: 7px;
  overflow: hidden;
  border: 1px solid rgba(116,151,207,.32);
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 50% 50%, rgba(16,124,226,.52) 0 22%, transparent 58%),
    radial-gradient(circle at 92% 84%, rgba(25,222,224,.46), transparent 34%),
    radial-gradient(circle at 8% 12%, rgba(52,113,229,.42), transparent 30%),
    linear-gradient(145deg, #071d4d 0%, #0a3f92 54%, #086f9e 100%);
  box-shadow: 0 16px 34px rgba(23,76,155,.2);
  text-align: center;
}
.dashboard-archive-card::before,
.dashboard-archive-card::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.dashboard-archive-card::before { width:340px; height:340px; border:1px solid rgba(86,205,255,.14); box-shadow:0 0 0 34px rgba(63,148,255,.025),0 0 0 72px rgba(63,148,255,.02); }
.dashboard-archive-card::after { width:460px; height:130px; left:50%; bottom:-92px; transform:translateX(-50%) rotate(-7deg); border-top:1px solid rgba(93,246,243,.38); box-shadow:0 -10px 34px rgba(26,222,227,.12); }
.dashboard-archive-ring {
  position:relative;
  z-index:1;
  display:grid;
  width:206px;
  height:206px;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(10,61,137,.92) 0 57%, transparent 58%),
    conic-gradient(from 212deg, #37eff2, #68aaff 31%, #d6fbff 48%, #37eff2 69%, #2994ff 88%, #37eff2);
  box-shadow:
    0 0 0 2px rgba(70,218,255,.34),
    0 0 0 10px rgba(44,145,255,.1),
    0 0 38px rgba(28,210,242,.46),
    inset 0 0 28px rgba(64,218,255,.16);
}
.dashboard-archive-ring::before {
  content:"";
  position:absolute;
  inset:-17px;
  border-radius:50%;
  background:repeating-conic-gradient(from -2deg, rgba(117,215,255,.64) 0 1deg, transparent 1deg 4deg);
  -webkit-mask:radial-gradient(circle, transparent 0 72%, #000 73% 78%, transparent 79%);
  mask:radial-gradient(circle, transparent 0 72%, #000 73% 78%, transparent 79%);
  opacity:.72;
}
.dashboard-archive-ring::after {
  content:"";
  position:absolute;
  inset:11px;
  border:1px solid rgba(148,236,255,.36);
  border-radius:50%;
  box-shadow:inset 0 0 22px rgba(57,198,255,.23);
}
.dashboard-archive-ring > i,
.dashboard-archive-ring > b { position:absolute; z-index:3; width:7px; height:7px; border-radius:50%; background:#86fbf1; box-shadow:0 0 12px #4ef5ef,0 0 22px rgba(72,226,255,.86); }
.dashboard-archive-ring > i { top:20px; right:41px; }
.dashboard-archive-ring > b { bottom:35px; left:18px; width:5px; height:5px; background:#dffcff; }
.dashboard-archive-copy { position:relative; z-index:2; display:grid; width:170px; height:132px; grid-template-rows:22px 84px 22px; justify-items:center; align-items:center; align-content:center; }
.dashboard-archive-copy small { color:#e9faff; font-size:13px; font-weight:800; line-height:1.25; letter-spacing:.08em; text-shadow:0 2px 10px rgba(0,23,70,.42); white-space:nowrap; }
.dashboard-archive-copy strong { margin:0; align-self:center; color:#fff; font-size:clamp(60px,5vw,78px); line-height:.92; letter-spacing:-.045em; font-variant-numeric:tabular-nums; text-shadow:0 6px 18px rgba(0,25,78,.38),0 0 18px rgba(109,236,255,.24); }
.dashboard-archive-copy strong.is-four-digit { font-size:clamp(45px,3.8vw,58px); letter-spacing:-.055em; }
.dashboard-archive-copy em { max-width:170px; margin:0; overflow:hidden; color:#e9faff; font-size:13px; font-style:normal; font-weight:800; line-height:1.25; letter-spacing:.02em; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-archive-sync-status { position:relative; z-index:2; min-height:15px; color:#b9edff; font-size:11px; font-weight:700; line-height:15px; letter-spacing:.04em; opacity:0; visibility:hidden; transition:opacity .18s ease; }
.dashboard-archive-sync-status.is-visible { opacity:1; visibility:visible; }
.dashboard-archive-link { position:relative; z-index:1; margin-top:12px; color:#fff6b4; font-size:11px; font-weight:800; }
.dashboard-archive-card:hover { transform:translateY(-2px); box-shadow:0 20px 42px rgba(23,76,155,.27); }

.upload-box { display:flex; align-items:center; gap:9px; }
.upload-sample-button { min-height:38px; }

.incentive-module-tabs { margin-top: 0; }
.fourb-preview-head > div.incentive-preview-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.incentive-preview-actions .ghost-button {
  min-height: 34px;
  padding: 0 13px;
  border-color: #cfdaea;
  color: #174f9f;
  background: rgba(255,255,255,.9);
  font-size: 12px;
  font-weight: 800;
}
.incentive-preview-actions .incentive-preview-download { box-sizing:border-box; min-width:76px; min-height:34px; padding:0 14px; font-size:12px; text-align:center; white-space:nowrap; }
.incentive-preview-actions .incentive-fullscreen-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; }
.incentive-preview-actions .incentive-fullscreen-button span { color:inherit; font-size:17px; font-weight:500; line-height:1; letter-spacing:0; }
.incentive-preview-actions .incentive-fullscreen-button b { font:inherit; }
.incentive-preview-actions .incentive-fullscreen-button.is-active { border-color:#f3c55a; color:#fff; background:#173f72; }
.incentive-preview-actions .ghost-button:hover { border-color:#7ca7e5; background:#edf4ff; }
.incentive-preview-actions .ghost-button:disabled { cursor:not-allowed; opacity:.55; }

.profile-setup-required .profile-editor-panel { border-top: 4px solid #1761dc; }

@media (max-width: 1180px) {
  .dashboard-hero { grid-template-columns:minmax(310px,1fr) minmax(250px,.82fr); }
  .dashboard-archive-card { grid-column:1 / -1; min-height:252px; }
}

@media (max-width: 760px) {
  .workspace.tool-header-compact { padding-top: 10px; }
  .dashboard-archive-card { min-height:238px; }
  .dashboard-archive-ring { width:190px; height:190px; }
  .dashboard-archive-copy { width:146px; }
  .dashboard-archive-copy strong { font-size:60px; }
  .dashboard-archive-copy strong.is-four-digit { font-size:46px; }
  .fourb-preview-head { align-items:flex-start; flex-direction:column; }
  .fourb-preview-head > div.incentive-preview-actions { width:100%; justify-content:flex-start; }
}

/* V8DQ dashboard */
:root {
  --bg: #eef3f9;
  --panel: #ffffff;
  --text: #122038;
  --muted: #68768c;
  --line: #d9e2ef;
  --line-soft: #e8edf5;
  --blue: #1761dc;
  --green: #13845f;
  --amber: #c87905;
  --ink: #0e1d36;
  --shadow: 0 10px 32px rgba(23, 39, 68, 0.06);
}

body {
  background: linear-gradient(135deg, #eaf1fb 0%, #f5f8fc 45%, #eef4f1 100%);
}

.app-shell { grid-template-columns: 248px minmax(0, 1fr); }

.sidebar {
  padding: 26px 14px;
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, #12213c 0%, #0d1b32 100%);
  box-shadow: 10px 0 30px rgba(8, 20, 40, 0.08);
}

.sidebar .eyebrow, .sidebar-note { color: #aebbd0; }
.sidebar h1, .sidebar-note strong { color: #fff; }
.brand { padding: 0 7px; }
.brand-mark { background: none; border: 1px solid rgba(255,255,255,.22); }
.nav { gap: 4px; }
.nav button { color: #aebbd0; padding: 12px 13px; font-size: 16px; }
.nav button:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav button.active { color: #fff; background: linear-gradient(90deg, rgba(40,109,224,.58), rgba(27,139,144,.42)); }
.nav button.nav-featured { position: relative; display: flex; align-items: center; justify-content: space-between; margin: 5px 0; color: #fff; border: 1px solid rgba(113,222,211,.36); background: linear-gradient(100deg, rgba(53,101,222,.68), rgba(25,166,151,.56)); box-shadow: 0 8px 20px rgba(4,15,34,.2), inset 0 1px 0 rgba(255,255,255,.1); }
.nav button.nav-featured::after { content: "✦"; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #123452; background: linear-gradient(135deg, #e1fff8, #78e6d0); font-size: 15px; font-weight: 900; line-height: 1; box-shadow: 0 3px 10px rgba(0,0,0,.18), 0 0 0 3px rgba(130,235,214,.1); }
.nav button.nav-featured:hover { border-color: rgba(159,244,229,.72); background: linear-gradient(100deg, rgba(62,115,238,.82), rgba(27,180,162,.72)); transform: translateY(-1px); }
.nav button.nav-featured.active { border-color: rgba(178,255,242,.86); background: linear-gradient(100deg, #2f6fe6, #13a992); box-shadow: 0 10px 24px rgba(4,15,34,.28), 0 0 0 2px rgba(117,235,215,.12); }
.nav button.nav-incentive { position: relative; display: flex; align-items: center; justify-content: space-between; margin: 5px 0; color: #ffe9ad; border: 1px solid rgba(245,199,92,.38); background: linear-gradient(100deg, rgba(139,45,42,.5), rgba(190,93,32,.42)); box-shadow: 0 8px 20px rgba(4,15,34,.18), inset 0 1px 0 rgba(255,255,255,.08); }
.nav button.nav-incentive::after { content: "奖"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #7e1718; background: linear-gradient(135deg, #fff4bc, #efbd4f); font-size: 12px; font-weight: 900; box-shadow: 0 3px 10px rgba(0,0,0,.2); }
.nav button.nav-incentive:hover { color: #fff4cf; border-color: rgba(255,220,129,.7); background: linear-gradient(100deg, rgba(160,49,43,.68), rgba(211,111,36,.58)); transform: translateY(-1px); }
.nav button.nav-incentive.active { color: #fff8dc; border-color: rgba(255,225,140,.9); background: linear-gradient(100deg, #9d2426, #d27b27); box-shadow: 0 10px 24px rgba(4,15,34,.28), 0 0 0 2px rgba(244,193,77,.12); }
.sidebar-note { border-top-color: rgba(255,255,255,.12); }
.app-shell,
.sidebar,
.sidebar-toggle { transition: grid-template-columns .24s ease, transform .24s ease, opacity .2s ease, left .24s ease; }
.sidebar-toggle { position: fixed; top: 24px; left: 231px; z-index: 80; display: grid; width: 31px; height: 31px; padding: 0; place-items: center; border: 1px solid rgba(110,151,209,.55); border-radius: 50%; color: #174f9f; background: #f7fbff; box-shadow: 0 5px 16px rgba(7,25,52,.2); font-size: 22px; font-weight: 900; line-height: 1; }
.sidebar-toggle:hover { color: #fff; border-color: #56bdb2; background: linear-gradient(135deg, #2b6ed9, #1aa095); }
.app-shell.sidebar-collapsed { grid-template-columns: 0 minmax(0, 1fr); }
.app-shell.sidebar-collapsed .sidebar { padding-inline: 0; opacity: 0; overflow: hidden; pointer-events: none; transform: translateX(-100%); }
.app-shell.sidebar-collapsed .sidebar-toggle { left: 12px; transform: rotate(180deg); }
.sidebar-note span { color:#93a7c4; font-size:11px; font-weight:700; letter-spacing:.04em; }

/* V2.0.3 — 账号、云鹤币与利润工具箱导航 */
.brand { align-items:center; }
.brand > div:last-child { min-width:0; }
.brand-slogan {
  display:grid;
  grid-template-columns:repeat(2, max-content);
  gap:2px 8px;
  margin:3px 0 0;
  color:#fff;
  font-size:13px;
  font-weight:720;
  line-height:1.3;
  letter-spacing:.02em;
}
.brand-slogan span:nth-child(2n)::before { content:""; margin-right:0; }

.nav button.nav-profit-toolbox {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:4px 0;
  color:#fff;
  border:1px solid rgba(113,222,211,.36);
  background:linear-gradient(100deg, rgba(53,101,222,.68), rgba(25,166,151,.56));
  box-shadow:0 8px 20px rgba(4,15,34,.2), inset 0 1px 0 rgba(255,255,255,.1);
}
.nav button.nav-profit-toolbox::after {
  content:"✦";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  color:#123452;
  background:linear-gradient(135deg,#e1fff8,#78e6d0);
  font-size:15px;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.nav button.nav-profit-toolbox.active { border-color:rgba(178,255,242,.86); background:linear-gradient(100deg,#2f6fe6,#13a992); }

.sidebar-account {
  position:relative;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.12);
}
.sidebar-account-trigger {
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:8px;
  border:1px solid transparent;
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.04);
  text-align:left;
}
.sidebar-account-trigger:hover,
.sidebar-account-trigger[aria-expanded="true"] { border-color:rgba(113,222,211,.32); background:rgba(255,255,255,.09); }
.sidebar-account-trigger img { width:38px; height:38px; border-radius:10px; object-fit:cover; background:#eef4ff; box-shadow:0 0 0 2px rgba(255,255,255,.13); }
.sidebar-account-trigger span { min-width:0; display:grid; gap:2px; }
.sidebar-account-trigger strong { overflow:hidden; color:#fff; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-account-trigger small { color:#94a8c5; font-size:11px; }
.sidebar-account-trigger i { color:#88a1c1; font-style:normal; letter-spacing:1px; }
.sidebar-account-trigger.signed-out { grid-template-columns:38px minmax(0,1fr); }
.sidebar-account-menu {
  position:absolute;
  left:calc(100% + 12px);
  bottom:0;
  z-index:1500;
  width:270px;
  padding:10px;
  border:1px solid #dce5f1;
  border-radius:16px;
  color:#122038;
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 60px rgba(5,18,38,.24);
  backdrop-filter:blur(18px);
}
.sidebar-account-menu[hidden] { display:none; }
.sidebar-account-card { display:flex; gap:10px; align-items:center; padding:8px 8px 11px; border-bottom:1px solid #e8edf5; }
.sidebar-account-card img { width:42px; height:42px; border-radius:12px; object-fit:cover; }
.sidebar-account-card div { min-width:0; display:grid; gap:2px; }
.sidebar-account-card strong { overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-account-card span { color:#68768c; font-size:12px; }
.sidebar-account-balance { display:flex; align-items:center; justify-content:space-between; margin:9px 0; padding:10px 11px; border-radius:11px; background:linear-gradient(100deg,#fff8dc,#fff3c1); }
.sidebar-account-balance span { display:inline-flex; gap:6px; align-items:center; color:#6e4b07; font-size:12px; font-weight:750; }
.sidebar-account-balance strong { color:#9c5c02; font-size:17px; }
.sidebar-account-menu > button { width:100%; display:flex; align-items:center; justify-content:space-between; padding:9px 10px; border:0; border-radius:9px; color:#233553; background:transparent; text-align:left; }
.sidebar-account-menu > button:hover { background:#f0f5fc; }
.sidebar-account-menu > button.danger { color:#ba3e3e; }
.sidebar-account-menu > button b { color:#91a0b4; font-size:18px; }
.sidebar-account-version { margin-top:6px; padding:8px 10px 3px; border-top:1px solid #e8edf5; color:#8996a8; font-size:11px; text-align:center; }
.yunhe-coin-icon { width:19px; height:19px; flex:0 0 19px; vertical-align:-4px; filter:drop-shadow(0 2px 4px rgba(174,103,0,.2)); }

#cloud-status,
#user-login { display:none !important; }

.profit-tool-tabs {
  display:flex;
  align-items:center;
  gap:18px;
  margin:-10px 0 24px;
  padding:8px 10px;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 30px rgba(18,40,78,.06);
  backdrop-filter:blur(14px);
}
.profit-tool-tabs[hidden] { display:none; }
.profit-tool-tabs-heading { display:flex; gap:8px; align-items:center; padding:0 7px; color:#17365e; white-space:nowrap; }
.profit-tool-tabs-mark { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(135deg,#2167de,#16a793); font-size:12px; font-weight:900; box-shadow:0 5px 12px rgba(28,99,192,.2); }
.profit-tool-tabs-heading strong { font-size:13px; }
.profit-tool-tabs-list { min-width:0; display:flex; flex:1; gap:5px; align-items:center; overflow-x:auto; }
.profit-tool-tabs-list button { position:relative; min-height:38px; padding:0 15px; border:0; border-radius:9px; color:#5d6e86; background:transparent; font-size:14px; font-weight:650; white-space:nowrap; }
.profit-tool-tabs-list button:hover { color:#185bd5; background:#eef5ff; }
.profit-tool-tabs-list button.active { color:#fff; background:linear-gradient(100deg,#2468dc,#18a08f); box-shadow:0 7px 16px rgba(33,100,203,.18); }

.cb-field-label small { margin-left:6px; color:#97a2b2; font-size:11px; font-weight:500; }
.cb-nickname-input { width:100%; }
.profile-editor-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.profile-editor-head span { color:#1761dc; font-size:12px; font-weight:800; }
.profile-editor-head h3 { margin:2px 0 0; }
.profile-editor-head small { max-width:260px; color:#7b8799; font-size:11px; text-align:right; }
.profile-editor-head-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding-right:30px; }
.profile-editor-head-actions .primary-button { min-width:72px; flex:0 0 auto; }
.profile-setup-required .profile-editor-head-actions { padding-right:0; }
.profile-nickname-field { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:10px; margin-bottom:16px; }
.profile-nickname-field span { color:#34465f; font-size:13px; font-weight:750; }
.profile-nickname-field input { width:100%; min-height:42px; padding:0 12px; border:1px solid #ccd9ea; border-radius:10px; color:#172b4d; background:#fff; outline:none; }
.profile-nickname-field input:focus { border-color:#3178e8; box-shadow:0 0 0 3px rgba(49,120,232,.12); }
.avatar-choice.selected { border-color:#1761dc; background:#eef5ff; box-shadow:0 0 0 3px rgba(23,97,220,.12); }
.profile-editor-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }

@media (max-width: 980px) {
  .sidebar-account { margin-top:0; padding-top:8px; border-top:0; }
  .sidebar-account-trigger { width:220px; }
  .sidebar-account-menu { left:0; bottom:auto; top:calc(100% + 8px); }
  .profit-tool-tabs { align-items:flex-start; flex-direction:column; gap:7px; margin-top:-6px; }
  .profit-tool-tabs-list { width:100%; }
}

@media (max-width: 560px) {
  .brand-slogan { font-size:12px; }
  .profit-tool-tabs-heading { display:none; }
  .profit-tool-tabs { padding:6px; }
  .profit-tool-tabs-list button { padding:0 11px; font-size:13px; }
  .sidebar-account-menu { position:fixed; right:12px; bottom:12px; left:12px; top:auto; width:auto; }
  .profile-editor-head { align-items:flex-start; flex-direction:column; }
  .profile-editor-head small { text-align:left; }
  .profile-editor-head-actions { width:100%; justify-content:space-between; padding-right:0; }
}

.workspace { padding: 26px clamp(22px, 3vw, 44px) 54px; }
.topbar { margin-bottom: 26px; }
.topbar h2 { font-size: clamp(30px, 3vw, 42px); }
.actions { align-items: center; }
.history-badge {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--ink);
  font-weight: 700;
  box-shadow: 0 5px 15px rgba(14,29,54,.15);
}
.primary-button, .ghost-button, .small-button { border-radius: 8px; }

.hero-panel, .panel { border: 1px solid #dce5f1; box-shadow: var(--shadow); }
.dashboard-hero {
  grid-template-columns: minmax(330px, 1.15fr) minmax(240px, .62fr) minmax(300px, 1.15fr);
  align-items: center;
  padding: 34px;
  border-top: 4px solid var(--blue);
  background: linear-gradient(125deg, rgba(222,233,251,.92), rgba(247,250,254,.96) 60%, rgba(234,246,241,.9));
}
.dashboard-hero .hero-number { color: #185bd5; font-size: clamp(58px, 6vw, 90px); }
.score-block .eyebrow { margin-bottom: 28px; }
.percentile-card {
  min-height: 230px;
  padding: 20px;
  border: 1px solid #dce5f1;
  border-radius: 9px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 24px rgba(14,29,54,.08);
}
.percentile-card strong { display: block; margin: 3px 0 2px; color: #185bd5; font-size: 34px; line-height: 1; }
.percentile-curve-figure {
  position: relative;
  width: 100%;
  margin: 5px 0 2px;
}
.percentile-curve-summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0 2px 2px;
  color: #63748b;
  font-size: 12px;
  line-height: 1.3;
}
.percentile-curve-summary strong {
  color: #14233d;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.percentile-curve-figure svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.percentile-curve-fill { opacity: .5; }
.percentile-curve-line {
  fill: none;
  stroke: #185bd5;
  stroke-width: 1.35;
  stroke-linecap: round;
}
.percentile-curve-base {
  fill: none;
  stroke: #aebccc;
  stroke-width: .55;
  stroke-linecap: round;
}
.percentile-quartile-line {
  stroke: #667991;
  stroke-width: .65;
  stroke-dasharray: 2 1.5;
}
.percentile-quartile-marker text {
  fill: #425873;
  font-family: inherit;
  font-size: 4.2px;
  font-weight: 700;
}
.percentile-current-marker line {
  stroke: #e2a21b;
  stroke-width: 1.1;
}
.percentile-current-marker circle {
  fill: #f5b52b;
  stroke: #fff;
  stroke-width: .8;
}
.percentile-axis-labels {
  fill: #697b92;
  font-family: inherit;
  font-size: 4px;
}
.percentile-axis-title {
  fill: #425873;
  font-size: 4.2px;
  font-weight: 700;
}
.metric-percentile-curve {
  margin-top: 2px;
}
.percentile-card p { margin: 0; }
.percentile-confidence-warning {
  margin-top: 9px !important;
  padding: 7px 9px;
  border-radius: 7px;
  color: #8a580f !important;
  background: #fff1d7;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1.4;
}
.dashboard-hero .diagnosis { align-self: stretch; display: grid; align-content: start; min-height: 160px; }

.metric-detail-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.metric-detail-section-head h3 {
  margin: 0 0 5px;
}

.metric-detail-section-head p {
  max-width: 860px;
  margin: 0;
}

.metric-detail-section-head > span {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: #1558c8;
  background: #edf4ff;
  font-size: 11px;
  font-weight: 800;
}

.metric-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.metric-detail-chart {
  padding: 18px;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f9fbfe);
  box-shadow: 0 9px 24px rgba(20, 50, 90, .055);
}

.metric-detail-chart.is-invalid {
  border-style: dashed;
  background: linear-gradient(145deg, #fafbfd, #f4f6f9);
}

.metric-detail-chart.is-structural-limit {
  border-color: #edc080;
  background: linear-gradient(145deg, #fffdf8, #fff8eb);
}

.metric-detail-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.metric-detail-group {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .04em;
}

.metric-detail-chart-head h4 {
  margin: 4px 0 0;
  color: #142b4d;
  font-size: 16px;
}

.metric-detail-current {
  display: grid;
  gap: 2px;
  justify-items: end;
  text-align: right;
}

.metric-detail-current span {
  color: var(--muted);
  font-size: 11px;
}

.metric-detail-current strong {
  color: #102747;
  font-size: 19px;
}

.metric-detail-rating {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 17px 0 16px;
}

.metric-detail-rating b {
  color: #18304f;
  font-size: 14px;
}

.metric-score-boundaries {
  position: relative;
  height: 72px;
  margin: 0 0 10px;
}

.metric-score-boundaries span {
  position: absolute;
  bottom: 0;
  display: grid;
  gap: 2px;
  min-width: 86px;
  padding-bottom: 30px;
  color: #68768c;
  text-align: center;
  transform: translateX(-50%);
}

.metric-score-boundaries span::after {
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 1px;
  height: 9px;
  background: #8c9bb0;
  content: "";
}

.metric-score-boundaries small {
  font-size: 9px;
}

.metric-score-boundaries strong {
  color: #203651;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}

.metric-score-boundaries em {
  color: #8a580f;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.metric-score-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: 16px;
  overflow: visible;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(17, 40, 73, .08);
}

.metric-score-zone:first-child { border-radius: 999px 0 0 999px; }
.metric-score-zone:last-of-type { border-radius: 0 999px 999px 0; }
.metric-score-zone.danger { background: #d3483c; }
.metric-score-zone.pass { background: #dc8822; }
.metric-score-zone.good { background: #679ecb; }
.metric-score-zone.great { background: #2fa894; }
.metric-score-zone.excellent { background: #13845f; }

.metric-score-marker {
  position: absolute;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #112848;
  box-shadow: 0 0 0 1px #112848, 0 3px 9px rgba(17, 40, 72, .3);
  transform: translate(-50%, -50%);
}

.metric-score-marker em {
  position: absolute;
  left: 50%;
  bottom: 20px;
  padding: 2px 6px;
  border-radius: 5px;
  color: #fff;
  background: #112848;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  transform: translateX(-50%);
  white-space: nowrap;
}

.metric-score-band-labels {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  margin-top: 10px;
}

.metric-score-band-labels span {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.metric-score-band-labels strong {
  color: #42536d;
  font-size: 11px;
}

.metric-score-band-labels small {
  font-size: 9px;
}

.metric-score-scale.is-invalid .metric-score-track {
  height: 28px;
  overflow: hidden;
  background: #cfd6df;
  filter: grayscale(1);
  opacity: .72;
}

.metric-score-invalid-copy {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #20334f;
  background: rgba(255, 255, 255, .82);
  font-size: 10px;
  font-weight: 800;
}

.metric-detail-explanation {
  margin-top: 15px;
  padding: 11px 12px;
  border-radius: 9px;
  color: #637189;
  background: #f1f5fa;
}

.metric-detail-explanation strong {
  color: #40516a;
  font-size: 11px;
}

.metric-detail-explanation p {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.55;
}

.is-structural-limit .metric-detail-explanation {
  color: #87550b;
  background: #fff0d5;
}

.is-structural-limit .metric-detail-explanation strong {
  color: #87550b;
}

.dashboard-kpis { gap: 14px; }
.dashboard-metric { min-height: 112px; border-top: 4px solid; background: linear-gradient(180deg,#fff,rgba(255,255,255,.82)); }
.dashboard-metric .metric-value { font-size: clamp(22px, 2vw, 30px); }
.dashboard-metric.tone-blue { border-top-color: #1761dc; color: #1356c9; }
.dashboard-metric.tone-cyan { border-top-color: #1190a1; color: #087f95; background: linear-gradient(180deg,#f1fbfc,#fff); }
.dashboard-metric.tone-green { border-top-color: #16865f; color: #117956; background: linear-gradient(180deg,#f0faf6,#fff); }
.dashboard-metric.tone-amber { border-top-color: #cb7b08; color: #bd6d00; background: linear-gradient(180deg,#fff9ee,#fff); }
.dashboard-metric .metric-title, .dashboard-metric .metric-note { color: var(--muted); }

.profit-path-panel { padding: 18px; }
.profit-equation { display: grid; grid-template-columns: minmax(180px,.8fr) 42px minmax(420px,1.7fr) 42px minmax(180px,.8fr); gap: 10px; align-items: stretch; }
.equation-card { display: grid; align-content: center; gap: 10px; min-height: 200px; padding: 18px; border: 1px solid #d6e1ef; border-top: 4px solid var(--blue); border-radius: 8px; background: linear-gradient(180deg,#edf4ff,#fff); }
.equation-card span { color: var(--muted); font-size: 13px; }
.equation-card strong { color: #1761dc; font-size: clamp(24px,2.4vw,34px); }
.equation-card.result { border-top-color: var(--green); background: linear-gradient(180deg,#ecf9f4,#fff); }
.equation-card.result strong, .equation-card.result b { color: var(--green); }
.equation-card.result b { font-size: 20px; }
.equation-sign { align-self: center; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; background: var(--ink); font-size: 24px; box-shadow: 0 5px 15px rgba(14,29,54,.16); }
.cost-list { display: grid; align-content: stretch; border: 1px solid #dce5f1; border-radius: 8px; overflow: hidden; background:#fff; }
.cost-row { display: grid; grid-template-columns: minmax(130px,1fr) minmax(110px,auto) 70px; gap: 12px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--line-soft); font-size: 13px; }
.cost-row:last-child { border-bottom: 0; }
.cost-row span { display:flex; gap:10px; align-items:center; color:var(--muted); }
.cost-row i { width:10px; height:10px; border-radius:3px; }
.cost-row strong, .cost-row em { text-align:right; }
.cost-row em { color:var(--muted); font-style:normal; }

.break-even-chart-panel { overflow: hidden; padding: 24px; background: linear-gradient(145deg, #fff 0%, #f7faff 58%, #f0faf8 100%); }
.break-even-chart-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.break-even-chart-head h3 { margin: 0; }
.break-even-chart-head > span { color: var(--muted); font-size: 13px; }
.break-even-line-chart { width: 100%; overflow-x: auto; border: 1px solid #dce7f5; border-radius: 14px; background: rgba(255,255,255,.9); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.break-even-line-chart svg { display: block; width: 100%; min-width: 760px; height: auto; }
.break-even-grid-line { stroke: #dce5f0; stroke-width: 1; stroke-dasharray: 4 5; }
.break-even-y-label, .break-even-x-label, .break-even-axis-title { fill: #6b7890; font-family: inherit; font-size: 12px; }
.break-even-axis-title { fill: #45556f; font-size: 13px; font-weight: 700; }
.break-even-area { fill: url(#break-even-area-gradient); }
.break-even-line { fill: none; stroke: #2274e8; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; filter: url(#break-even-line-shadow); }
.break-even-point circle { fill: #fff; stroke: #1d75e8; stroke-width: 4; }
.break-even-point text { fill: #20324e; font-family: inherit; font-size: 11px; font-weight: 700; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.break-even-point.is-target circle { fill: #f5b52b; stroke: #c97b0a; stroke-width: 5; r: 9px; }
.break-even-point.is-target text, .break-even-x-label.is-target { fill: #a35e00; font-size: 14px; font-weight: 900; }
.break-even-unavailable { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.break-even-unavailable span { padding: 7px 10px; border: 1px solid #f2d2cf; border-radius: 999px; color: #a3423b; background: #fff5f4; font-size: 12px; }
.pricing-break-even-panel { background: linear-gradient(145deg, #fff 0%, #fffaf2 58%, #f7fbff 100%); }
.dashboard-break-even-section { margin-top: 22px; }
.dashboard-break-even-title { margin-bottom: 12px; }
.dashboard-break-even-title h3 { margin: 3px 0 0; }
.dashboard-break-even-title > span { color: #a35e00; font-size: 13px; font-weight: 800; }
.dashboard-break-even-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.dashboard-break-even-card { min-width: 0; padding: 18px; }
.dashboard-break-even-card .break-even-chart-head { align-items: flex-start; flex-direction: column; gap: 4px; }
.dashboard-break-even-card .break-even-line-chart svg { min-width: 560px; }

.metric-summary-panel { overflow: hidden; }
.metric-summary-chart { overflow-x: auto; border: 1px solid #dce7f5; border-radius: 12px; background: linear-gradient(145deg,#fff,#f7faff); }
.metric-summary-chart svg { display: block; width: 100%; min-width: 760px; height: auto; }
.metric-summary-grid { stroke: #dce6f3; stroke-width: 1; }
.metric-summary-axis, .metric-summary-axis-title, .metric-summary-name, .metric-summary-value { fill: #5f7088; font-family: inherit; font-size: 13px; }
.metric-summary-axis-title { fill: #253a58; font-size: 14px; font-weight: 800; }
.metric-summary-name { fill: #203653; font-weight: 700; }
.metric-summary-bar { fill: url(#metric-summary-gradient); opacity: .92; filter: drop-shadow(0 2px 3px rgba(24,91,213,.16)); }
.metric-summary-dot { fill: #117e94; stroke: #fff; stroke-width: 2; filter: drop-shadow(0 2px 3px rgba(17,78,148,.2)); }
.metric-summary-value { fill: #17375f; font-weight: 800; paint-order: stroke; stroke: #fff; stroke-width: 4px; }
.pricing-multiple-area { fill: url(#pricing-multiple-area-gradient); }
.pricing-multiple-line { stroke: #ec8429; filter: url(#pricing-multiple-line-shadow); }
.pricing-multiple-point circle { stroke: #e8781d; }
.pricing-current-marker line { stroke: #7b8799; stroke-width: 2; stroke-dasharray: 8 6; }
.pricing-current-marker text { fill: #57657a; font-family: inherit; font-size: 11px; font-weight: 800; paint-order: stroke; stroke: #fff; stroke-width: 4px; }
.chart-footnote { margin: 10px 2px 0; color: #68768c; font-size: 12px; }

.pricing-logic-panel { overflow: hidden; padding: 0; }
.pricing-logic-head { margin: 0; padding: 20px 22px 16px; border-bottom: 1px solid #d8e3f1; background: linear-gradient(100deg, #17386d, #1f4e8b); }
.pricing-logic-head h3, .pricing-logic-head .eyebrow { color: #fff; }
.pricing-logic-head .metric-note { color: rgba(255,255,255,.8); }
.pricing-legend-input,
.pricing-legend-output { display: inline-block; width: 11px; height: 11px; margin-right: 5px; border-radius: 3px; vertical-align: -1px; }
.pricing-legend-input { background: #fff; box-shadow: inset 0 0 0 1px #90add5; }
.pricing-legend-output { background: #eaf2fc; box-shadow: inset 0 0 0 1px #aec7e8; }
.pricing-table-wrap { margin: 0; border-radius: 0; }
.pricing-logic-table { min-width: 780px; border-collapse: collapse; }
.pricing-logic-table th,
.pricing-logic-table td { padding: 7px 12px; border-right: 1px solid #d8e3f1; border-bottom: 1px solid #d8e3f1; }
.pricing-logic-table thead th { color: #17355e; background: #dfe9f8; text-align: center; }
.pricing-logic-table thead th:nth-child(1) { width: 128px; }
.pricing-logic-table thead th:nth-child(2) { width: 190px; }
.pricing-logic-table thead th:nth-child(3) { width: 185px; }
.pricing-group-cell { color: #17355e; background: #e8eef9; font-size: 15px; text-align: center; vertical-align: middle; }
.pricing-logic-table tbody .pricing-group-start:not(:first-child) > * { border-top: 12px solid #f3f7fc; }
.pricing-item-cell { color: #243b5d; font-weight: 750; }
.pricing-value-cell { background: #f3f7fc; text-align: right; white-space: nowrap; }
.pricing-value-cell > strong { color: #153d75; font-size: 15px; }
.pricing-input-row .pricing-value-cell { background: #f5f8fc; }
.pricing-note-cell { color: #62728a; font-size: 12px; }
.pricing-inline-input { display: flex; gap: 7px; align-items: center; justify-content: flex-end; }
.pricing-inline-input input { width: 118px; min-width: 0; padding: 5px 8px; border: 1px solid #90add5; border-radius: 5px; outline: 0; color: #163c6d; background: #fff; font: inherit; font-weight: 800; text-align: right; box-shadow: 0 1px 2px rgba(17,49,91,.06); }
.pricing-inline-input input:focus { border-color: #1761dc; box-shadow: 0 0 0 3px rgba(23,97,220,.11); }
.pricing-inline-input span { min-width: 18px; color: #7a6640; font-size: 12px; text-align: left; }
.pricing-highlight-row .pricing-value-cell { background: #fff7b8; }
.pricing-important-row .pricing-value-cell { background: #edf9f1; }
.pricing-important-row .pricing-value-cell strong { color: #16734f; }
.pricing-result-row .pricing-value-cell { background: #e7f7ef; }
.pricing-result-row .pricing-value-cell strong { color: #087d57; font-size: 19px; }
.pricing-danger-row .pricing-value-cell { background: #fff0ee; }
.pricing-danger-row .pricing-value-cell strong { color: #c03e32; font-size: 19px; }
.chart-empty-state { display: grid; place-items: center; gap: 8px; min-height: 260px; padding: 30px; border: 1px dashed #c7d5e7; border-radius: 14px; color: var(--muted); background: #f8fbff; text-align: center; }
.chart-empty-state strong { color: #20324e; font-size: 18px; }

.cost-hierarchy-panel { padding: 24px; background: linear-gradient(145deg, #fff 0%, #f8fbff 55%, #f3faf7 100%); }
.cost-hierarchy-head, .cost-level-two-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.cost-hierarchy-head h3, .cost-level-two-head h3 { margin: 0; }
.cost-hierarchy-head .metric-note { margin: 6px 0 0; }
.gsv-composition-chart {
  margin-top: 24px;
  padding: 20px 22px 12px;
  overflow: hidden;
  border: 1px solid #dbe5f2;
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 42%, rgba(211,225,246,.45), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,249,254,.95));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.gsv-composition-summary {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 14px;
}
.gsv-composition-summary > span {
  display: grid;
  gap: 3px;
  min-width: 220px;
  padding: 12px 18px;
  border: 1px solid #dce6f2;
  border-radius: 11px;
  background: rgba(255,255,255,.92);
  text-align: center;
}
.gsv-composition-summary small { color: var(--muted); font-size: 11px; }
.gsv-composition-summary strong { color: #174b9a; font-size: 18px; }
.gsv-composition-summary .profit { border-color: #cde9dd; background: #eff9f5; }
.gsv-composition-summary .profit strong { color: #117957; }
.gsv-composition-summary .loss { border-color: #f0d0cd; background: #fff3f1; }
.gsv-composition-summary .loss strong { color: #b83d35; }
.gsv-composition-chart svg {
  display: block;
  width: min(100%, 900px);
  height: auto;
  margin: -4px auto -8px;
  overflow: visible;
}
.gsv-pie-slice {
  stroke: rgba(255,255,255,.92);
  stroke-width: 2;
  transition: filter .16s, opacity .16s;
}
.gsv-pie-slice:hover { filter: brightness(1.06); }
.gsv-pie-leader {
  fill: none;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .9;
}
.gsv-pie-label-dot { stroke: #fff; stroke-width: 2px; }
.gsv-pie-label {
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  pointer-events: none;
  paint-order: stroke;
  stroke: rgba(15,35,66,.35);
  stroke-width: 2px;
  stroke-linejoin: round;
}
.gsv-pie-label.small { font-size: 10px; }
.gsv-pie-label.callout {
  stroke: rgba(255,255,255,.92);
  stroke-width: 4px;
}
.gsv-pie-label tspan:last-child { font-size: .84em; font-weight: 700; }
.gsv-donut-core {
  fill: #fff;
  stroke: #dce6f2;
  stroke-width: 2px;
  filter: drop-shadow(0 9px 18px rgba(21,52,95,.14));
}
.gsv-donut-center-kicker,
.gsv-donut-center-value,
.gsv-donut-center-amount {
  font-family: inherit;
  pointer-events: none;
}
.gsv-donut-center-kicker { fill: #68758a; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.gsv-donut-center-value { fill: #16865f; font-size: 34px; font-weight: 900; letter-spacing: -.04em; }
.gsv-donut-center-amount { fill: #334965; font-size: 13px; font-weight: 700; }
.gsv-spiral-track,
.gsv-spiral-segment {
  fill: none;
  stroke-linejoin: round;
}
.gsv-spiral-track {
  stroke: #dbe4ef;
  stroke-linecap: round;
}
.gsv-spiral-segment {
  stroke-linecap: butt;
  transition: filter .16s, opacity .16s;
}
.gsv-spiral-segment:hover { filter: brightness(1.06); }
.gsv-spiral-boundary-line {
  fill: none;
  stroke: #52647d;
  stroke-width: 1.5px;
  stroke-dasharray: 5 5;
}
.gsv-spiral-boundary-dot {
  fill: #112848;
  stroke: #fff;
  stroke-width: 3px;
}
.gsv-spiral-boundary-label,
.gsv-spiral-center-kicker,
.gsv-spiral-center-value,
.gsv-spiral-center-loss,
.gsv-spiral-center-amount {
  font-family: inherit;
  text-anchor: middle;
}
.gsv-spiral-boundary-label {
  fill: #203651;
  font-size: 13px;
  font-weight: 900;
}
.gsv-spiral-endpoint {
  fill: #b83d35;
  stroke: #fff;
  stroke-width: 3px;
}
.gsv-spiral-center-kicker,
.gsv-spiral-center-amount {
  fill: #708096;
  font-size: 12px;
  font-weight: 700;
}
.gsv-spiral-center-value {
  fill: #173d72;
  font-size: 30px;
  font-weight: 900;
}
.gsv-spiral-center-loss {
  fill: #b83d35;
  font-size: 16px;
  font-weight: 900;
}
.gsv-loss-arc {
  fill: none;
  stroke: #d64545;
  stroke-width: 14px;
  stroke-linecap: round;
  filter: drop-shadow(0 4px 6px rgba(214,69,69,.25));
}
.gsv-loss-label rect { fill: #c94139; }
.gsv-loss-label text { fill: #fff; font-family: inherit; font-size: 13px; font-weight: 900; }
.gsv-composition-chart > p {
  margin: -4px 0 0;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}
.gsv-orbit-layout {
  display:grid;
  grid-template-columns:minmax(165px,220px) minmax(360px,1fr) minmax(165px,220px);
  grid-template-rows:auto 1fr;
  gap:12px 20px;
  align-items:center;
}
.gsv-orbit-top { grid-column:2; grid-row:1; width:min(100%,360px); justify-self:center; }
.gsv-orbit-side { display:grid; grid-row:2; gap:12px; align-self:center; }
.gsv-orbit-side.is-left { grid-column:1; }
.gsv-orbit-side.is-right { grid-column:3; }
.gsv-orbit-center { grid-column:2; grid-row:2; min-width:0; }
.gsv-orbit-center svg { width:100%; max-width:680px; margin:-12px auto -14px; }
.gsv-orbit-card {
  display:grid;
  align-content:center;
  gap:5px;
  min-height:82px;
  padding:11px 14px;
  border:1px solid #dfe7f1;
  border-top:4px solid var(--orbit-color);
  border-radius:11px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--orbit-color) 5%,white),#fff 78%);
  box-shadow:0 8px 20px rgba(26,57,96,.06);
}
.gsv-orbit-card span { overflow:hidden; color:#607087; font-size:12px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.gsv-orbit-card strong { color:var(--orbit-color); font-size:clamp(17px,1.55vw,24px); line-height:1.05; white-space:nowrap; }
.gsv-orbit-card small { overflow:hidden; color:#718198; font-size:11px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.gsv-orbit-result {
  position:relative;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:7px;
  min-height:82px;
  padding:7px 28px 18px;
  color:var(--orbit-color);
  text-align:center;
}
.gsv-orbit-result::before {
  content:"";
  position:absolute;
  z-index:1;
  bottom:5px;
  left:50%;
  width:7px;
  height:7px;
  border:2px solid #fff;
  background:var(--orbit-color);
  transform:translateX(-50%) rotate(45deg);
}
.gsv-orbit-result::after {
  content:"";
  position:absolute;
  bottom:9px;
  left:50%;
  width:230px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--orbit-color) 55%,white) 24%,var(--orbit-color) 50%,color-mix(in srgb,var(--orbit-color) 55%,white) 76%,transparent);
  transform:translateX(-50%);
}
.gsv-orbit-result span { display:flex; align-items:center; gap:10px; color:#627188; font-size:13px; font-weight:800; letter-spacing:.12em; }
.gsv-orbit-result span::before,
.gsv-orbit-result span::after { content:""; width:34px; height:1px; background:#aeb9c8; }
.gsv-orbit-result strong { color:var(--orbit-color); font-size:36px; font-weight:950; line-height:1; letter-spacing:-.035em; }
.gsv-composition-chart.is-delivery-layout {
  background:linear-gradient(135deg,#f8fbff 0%,#f1f7fd 58%,#f7fbfa 100%);
}
.gsv-delivery-orbit-layout {
  display:grid;
  grid-template-columns:minmax(430px,1fr) minmax(190px,260px);
  grid-template-rows:auto 1fr;
  gap:8px 28px;
  align-items:center;
}
.gsv-delivery-orbit-top { grid-column:1; grid-row:1; width:min(100%,360px); justify-self:center; }
.gsv-delivery-orbit-center { grid-column:1; grid-row:2; min-width:0; }
.gsv-delivery-orbit-center svg { width:100%; max-width:720px; margin:-10px auto -14px; }
.gsv-delivery-orbit-side { display:grid; grid-column:2; grid-row:1 / span 2; gap:12px; align-self:center; }
.gsv-delivery-orbit-side .gsv-orbit-card {
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 10px;
  min-height:72px;
  padding:10px 13px;
  border-top-width:1px;
  border-left:5px solid var(--orbit-color);
  border-radius:8px;
  background:#fff;
  box-shadow:0 5px 16px rgba(35,67,104,.05);
}
.gsv-delivery-orbit-side .gsv-orbit-card strong { font-size:18px; text-align:right; }
.gsv-delivery-orbit-side .gsv-orbit-card small { grid-column:1 / -1; }

@media (max-width: 900px) {
  .gsv-orbit-layout { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto; }
  .gsv-orbit-top { grid-column:1 / -1; grid-row:1; }
  .gsv-orbit-center { grid-column:1 / -1; grid-row:2; width:min(100%,620px); justify-self:center; }
  .gsv-orbit-side { grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:stretch; }
  .gsv-orbit-side.is-left { grid-column:1; }
  .gsv-orbit-side.is-right { grid-column:2; }
  .gsv-delivery-orbit-layout { grid-template-columns:minmax(0,1fr) minmax(170px,220px); grid-template-rows:auto 1fr; gap:8px 16px; }
  .gsv-delivery-orbit-top { grid-column:1; grid-row:1; }
  .gsv-delivery-orbit-center { grid-column:1; grid-row:2; }
  .gsv-delivery-orbit-side { grid-column:2; grid-row:1 / span 2; }
}

@media (max-width: 560px) {
  .gsv-orbit-layout { gap:10px; }
  .gsv-orbit-side { grid-template-columns:1fr; gap:8px; }
  .gsv-orbit-card { min-height:72px; padding:9px 10px; }
  .gsv-orbit-card strong { font-size:15px; }
  .gsv-orbit-card span, .gsv-orbit-card small { font-size:10px; }
  .gsv-orbit-result { min-height:72px; padding-inline:12px; }
  .gsv-orbit-result strong { font-size:29px; }
  .gsv-orbit-result::after { width:170px; }
  .gsv-delivery-orbit-layout { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .gsv-delivery-orbit-top { grid-column:1; grid-row:1; }
  .gsv-delivery-orbit-center { grid-column:1; grid-row:2; }
  .gsv-delivery-orbit-side { grid-column:1; grid-row:3; gap:8px; }
}
.cost-level-one { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(480px, 1.7fr); gap: 34px; align-items: center; margin-top: 24px; padding: 22px; border: 1px solid #dbe5f2; border-radius: 16px; background: rgba(255,255,255,.88); }
.cost-donut { position: relative; display: grid; place-items: center; width: min(270px, 100%); aspect-ratio: 1; margin: auto; border-radius: 50%; background: conic-gradient(var(--cost-gradient)); box-shadow: 0 18px 40px rgba(25,62,104,.13); }
.cost-donut::after { content: ""; position: absolute; inset: 22%; border-radius: 50%; background: linear-gradient(145deg,#fff,#f5f8fd); box-shadow: inset 0 0 0 1px #e1e8f2; }
.cost-donut > div { position: relative; z-index: 1; display: grid; gap: 4px; justify-items: center; padding: 20px; text-align: center; }
.cost-donut span, .cost-donut small { color: var(--muted); font-size: 12px; }
.cost-donut strong { color: #15345f; font-size: clamp(20px, 2vw, 28px); }
.cost-level-one-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.cost-level-one-row { display: grid; grid-template-columns: 12px minmax(90px,1fr) auto 58px; gap: 9px; align-items: center; min-height: 46px; padding: 10px 12px; border: 1px solid #e3e9f2; border-radius: 10px; background: #fff; }
.cost-swatch { width: 10px; height: 10px; border-radius: 3px; background: var(--cost-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cost-color) 13%, transparent); }
.cost-level-one-row strong { color: #273a56; font-size: 13px; }
.cost-level-one-row b { color: #102644; font-size: 13px; text-align: right; }
.cost-level-one-row em { color: var(--muted); font-size: 12px; font-style: normal; text-align: right; }
.cost-level-two-head { margin: 30px 0 14px; padding-top: 22px; border-top: 1px solid #dfe7f1; }
.cost-level-two-head > span { color: var(--muted); font-size: 12px; }
.cost-level-two-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cost-detail-card { container-type:inline-size; overflow: hidden; border: 1px solid #dce5f0; border-top: 4px solid var(--cost-color); border-radius: 13px; background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgba(24,52,92,.06); }
.cost-detail-card header { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 15px 16px 13px; border-bottom: 1px solid #e8edf4; background: linear-gradient(90deg, color-mix(in srgb, var(--cost-color) 9%, white), #fff 72%); }
.cost-detail-card header h4 { margin: 0 0 2px; color: #213755; font-size: 15px; }
.cost-detail-card header small { color: var(--muted); }
.cost-detail-card header > strong { color: var(--cost-color); font-size: 17px; }
.cost-detail-list { display: grid; gap: 13px; padding: 15px 16px 17px; }
.cost-detail-row > div:first-child { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 6px; color: #53637a; font-size: 12px; }
.cost-detail-row > div:first-child strong { color: #243a58; }
.cost-detail-value { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; white-space: nowrap; }
.cost-detail-row > div:first-child .cost-detail-value strong { color: #718198; font-size: 11.5px; font-weight: 600; }
.cost-detail-value small { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border: 1px solid color-mix(in srgb, var(--cost-color) 24%, white); border-radius: 999px; color: var(--cost-color); background: color-mix(in srgb, var(--cost-color) 10%, white); font-size: 13px; font-weight: 800; line-height: 1; }
.cost-detail-track { height: 7px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
.cost-detail-track i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, color-mix(in srgb, var(--cost-color) 70%, white), var(--cost-color)); }
.cost-detail-income > div:first-child > span:first-child,
.cost-detail-income .cost-detail-value strong { color: #12815e !important; font-weight: 800; }
.cost-detail-income .cost-detail-value small { border-color: #a7dccb; color: #12815e; background: #ecf9f4; }
.cost-detail-income .cost-detail-track i { background: linear-gradient(90deg, #60c6a3, #12815e); }
.cost-management-layout { padding: 15px 16px 17px; }
.cost-management-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cost-management-section { overflow: hidden; border: 1px solid #e4eaf2; border-radius: 11px; background: #fbfcfe; }
.cost-management-section-head { box-sizing:border-box; display:grid; min-height:54px; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:6px; padding:8px 10px; border-bottom:1px solid #e8edf4; background:color-mix(in srgb, var(--cost-color) 7%, white); }
.cost-management-section-head h5 { min-width:0; margin:0; overflow:hidden; color:#344966; font-size:13px; font-weight:900; line-height:18px; text-overflow:ellipsis; white-space:nowrap; }
.cost-management-section-head > span { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:6px; white-space:nowrap; }
.cost-management-section-head strong { color: #314760; font-size: 11.5px; font-weight: 800; }
.cost-management-section-head small { display:inline-flex; min-width:0; min-height:23px; align-items:center; padding:2px 6px; border:1px solid color-mix(in srgb, var(--cost-color) 23%, white); border-radius:999px; color:var(--cost-color); background:color-mix(in srgb, var(--cost-color) 10%, white); font-size:12px; font-weight:900; line-height:1; }
.cost-management-section .cost-detail-list { grid-auto-rows:62px; gap:0; padding:7px 12px 11px; }
.cost-management-section .cost-detail-row { box-sizing:border-box; display:grid; grid-template-rows:48px 7px; align-content:start; padding:0; }
.cost-management-section .cost-detail-row > div:first-child { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:6px; margin:0; }
.cost-management-section .cost-detail-row > div:first-child > span:first-child { min-width:0; overflow:hidden; line-height:18px; text-overflow:ellipsis; white-space:nowrap; }
.cost-management-section .cost-detail-value { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:6px; white-space:nowrap; }
.cost-management-section .cost-detail-value strong { font-size:11px !important; }
.cost-management-section .cost-detail-value small { padding-inline:6px; font-size:12px; }
.cost-management-footer { margin-top: 12px; padding: 12px; border: 1px solid color-mix(in srgb, var(--cost-color) 18%, white); border-radius: 11px; background: color-mix(in srgb, var(--cost-color) 5%, white); }

@container (max-width: 360px) {
  .cost-detail-card > header { grid-template-columns:12px minmax(0,1fr); }
  .cost-detail-card > header > strong { grid-column:2; justify-self:start; }
  .cost-detail-card > .cost-detail-list .cost-detail-row > div:first-child { display:grid; gap:4px; }
  .cost-detail-card > .cost-detail-list .cost-detail-value { width:100%; justify-content:space-between; }
}

@container (max-width: 440px) {
  .cost-management-layout { padding:10px 8px 12px; }
  .cost-management-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .cost-management-section-head { column-gap:3px; padding-inline:6px; }
  .cost-management-section-head h5 { font-size:11px; }
  .cost-management-section-head strong { font-size:9px; }
  .cost-management-section-head small { min-height:21px; padding-inline:4px; font-size:10px; }
  .cost-management-section .cost-detail-list { padding-inline:7px; }
  .cost-management-section .cost-detail-row > div:first-child { column-gap:3px; font-size:10px; }
  .cost-management-section .cost-detail-value { gap:3px; }
  .cost-management-section .cost-detail-value strong { font-size:9px !important; }
  .cost-management-section .cost-detail-value small { min-height:21px; padding-inline:4px; font-size:10px; }
}

@container (max-width: 360px) {
  .cost-management-layout { padding-inline:5px; }
  .cost-management-columns { gap:4px; }
  .cost-management-section-head { column-gap:2px; padding-inline:4px; }
  .cost-management-section-head h5 { font-size:9px; }
  .cost-management-section-head strong { font-size:8px; }
  .cost-management-section-head small { padding-inline:2px; font-size:8px; }
  .cost-management-section .cost-detail-list { padding-inline:5px; }
  .cost-management-section .cost-detail-row > div:first-child { column-gap:2px; font-size:9px; }
  .cost-management-section .cost-detail-value { gap:2px; }
  .cost-management-section .cost-detail-value strong { font-size:8px !important; }
  .cost-management-section .cost-detail-value small { padding-inline:2px; font-size:8px; }
}

.config-summary, .history-head { display:flex; gap:18px; align-items:center; justify-content:space-between; }
.config-summary p, .history-head p { margin-bottom:0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#view-history.active { gap: 10px; }
.history-toolbar { padding: 12px 14px; }
.history-toolbar .history-head { gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.history-toolbar .history-head h3 { margin-bottom: 2px; }
.history-toolbar .history-head .metric-note { line-height: 1.35; }
.history-toolbar .history-head .ghost-button { min-height: 32px; padding-inline: 10px; font-size: 12px; white-space: nowrap; }
.history-filter-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding-top: 10px; }
.history-search-box { display: grid; flex: 1 1 250px; grid-template-columns: 30px minmax(0,1fr); align-items: center; min-width: 220px; height: 34px; overflow: hidden; border: 1px solid #dce5f1; border-radius: 7px; background: #fff; }
.history-search-box > span { color: #7a899e; font-size: 17px; text-align: center; }
.history-search-box input { width: 100%; height: 100%; padding: 0 9px 0 0; border: 0; outline: 0; color: #233a59; background: transparent; font-size: 12.5px; }
.history-date-filters { display: flex; gap: 6px; align-items: center; }
.history-date-filters label,
.history-state-filter { display: flex; gap: 6px; align-items: center; height: 34px; padding: 0 7px 0 9px; border: 1px solid #dce5f1; border-radius: 7px; color: #63748b; background: #fff; font-size: 11.5px; white-space: nowrap; }
.history-date-filters input,
.history-state-filter select { min-width: 0; height: 28px; padding: 0 4px; border: 0; outline: 0; color: #243b5a; background: transparent; font-size: 12px; }
.history-date-arrow { color: #8a98aa; font-size: 11px; }
.history-filter-clear { min-height: 34px; white-space: nowrap; }
.history-filter-clear:disabled { cursor: default; opacity: .45; }
.history-filter-count { margin-left: auto; color: #718198; font-size: 12px; white-space: nowrap; }
.history-filter-count strong { color: #1761dc; font-size: 14px; }
.history-table-panel { padding: 0; overflow: hidden; }
.history-table-wrap { max-height: calc(100vh - 255px); border: 0; border-radius: 0; overflow: auto; }
.history-table { min-width: 1040px; }
.history-table th,
.history-table td { padding: 7px 9px; font-size: 12.5px; line-height: 1.3; vertical-align: middle; }
.history-table th { position: sticky; z-index: 2; top: 0; padding-block: 8px; font-size: 11.5px; white-space: nowrap; }
.history-table tr:hover td { background: #f8faff; }
.history-table .status { padding: 3px 7px; font-size: 11px; }
.history-table .small-button { min-height: 28px; padding-inline: 8px; font-size: 11.5px; }
.history-table .row-actions { flex-wrap: nowrap; white-space: nowrap; }
.history-company-cell { max-width: 210px; }
.history-source-cell { max-width: 230px; }
.history-source-cell > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-source-cell > small { display: block; margin-top: 2px; overflow: hidden; color: #718198; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.history-owner-cell,
.history-time-cell { white-space: nowrap; }
.history-analysis-empty { min-height: 260px; display: grid; place-content: center; justify-items: center; text-align: center; }
.history-analysis-empty h3 { margin-bottom: 8px; color: #183b67; }
.history-analysis-empty p { max-width: 620px; margin: 0; color: #718198; line-height: 1.7; }
.history-analysis-control-panel { padding: 18px 20px; overflow: visible; border-top: 4px solid #1761dc; background: linear-gradient(120deg, rgba(236,244,255,.92), rgba(255,255,255,.98) 48%, rgba(236,249,246,.86)); }
.history-analysis-control-head { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid #dbe5f1; }
.history-analysis-control-head h3 { margin-bottom: 4px; color: #15385f; font-size: 21px; }
.history-analysis-control-head .eyebrow { color: #1761dc; font-weight: 900; letter-spacing: .08em; }
.history-analysis-period-summary { display: grid; min-width: 132px; gap: 2px; justify-items: end; }
.history-analysis-period-summary span,
.history-analysis-period-summary small { color: #75859b; font-size: 11px; }
.history-analysis-period-summary strong { color: #1761dc; font-size: 24px; line-height: 1.2; }
.history-analysis-controls { display: grid; grid-template-columns: minmax(240px,1.4fr) minmax(145px,.65fr) minmax(250px,1fr); gap: 12px; align-items: end; padding-top: 15px; }
.history-analysis-controls > label,
.history-analysis-object-control { display: grid; gap: 6px; color: #60738d; font-size: 11.5px; font-weight: 800; }
.history-analysis-controls select { width: 100%; height: 38px; padding: 0 11px; border: 1px solid #cfdced; border-radius: 8px; color: #203b5e; background: #fff; font-weight: 700; outline: 0; }
.history-analysis-controls select:focus { border-color: #6b9de5; box-shadow: 0 0 0 3px rgba(23,97,220,.12); }
.history-analysis-object-combobox { box-sizing:border-box; width:100%; height:38px; padding:0 11px; border:1px solid #cfdced; border-radius:8px; color:#203b5e; background:#fff; font:inherit; font-weight:700; outline:0; }
.history-analysis-object-combobox:focus { border-color:#6b9de5; box-shadow:0 0 0 3px rgba(23,97,220,.12); }
.history-analysis-object-combobox-wrap { position:relative; min-width:0; }
.history-analysis-object-combobox { padding-right:38px; }
.history-analysis-object-toggle { position:absolute; z-index:2; top:1px; right:1px; width:36px; height:36px; padding:0; border:0; border-radius:0 7px 7px 0; color:#304b6d; background:#fff; cursor:pointer; font-size:12px; }
.history-analysis-object-menu { position:absolute; z-index:90; top:calc(100% + 5px); left:0; width:100%; min-width:360px; overflow:hidden; border:1px solid #d5dfec; border-radius:9px; background:#fff; box-shadow:0 14px 30px rgba(17,47,83,.18); }
.history-analysis-object-menu[hidden] { display:none; }
.history-analysis-object-menu-title { position:sticky; z-index:1; top:0; padding:9px 12px; border-bottom:1px solid #e0e8f2; color:#60738d; background:#f5f8fc; font-size:11px; font-weight:800; }
.history-analysis-object-option-list { max-height:260px; overflow-y:auto; }
.history-analysis-object-option-list button { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; width:100%; gap:7px; padding:9px 12px; border:0; border-bottom:1px solid #edf1f6; text-align:left; color:#17395f; background:#fff; cursor:pointer; }
.history-analysis-object-option-list button:hover,
.history-analysis-object-option-list button[aria-selected="true"] { background:#eef5ff; }
.history-analysis-object-option-list button[hidden] { display:none; }
.history-analysis-object-option-list button > i { display:grid; place-items:center; width:16px; height:16px; border:1px solid #b7c9e2; border-radius:5px; color:#fff; background:#fff; font-size:11px; font-style:normal; font-weight:900; }
.history-analysis-object-option-list button[aria-selected="true"] > i { border-color:#1761dc; background:#1761dc; }
.history-analysis-object-option-list button > span { display:grid; min-width:0; gap:2px; }
.history-analysis-object-option-list strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; line-height:1.35; }
.history-analysis-object-option-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#718198; font-size:10.5px; font-weight:500; line-height:1.35; }
.history-analysis-object-control > span small { margin-left:4px; color:#1761dc; font-size:10px; font-weight:850; }
.history-analysis-object-control > small { color:#7b8ea8; font-size:10.5px; font-weight:600; }
.history-analysis-presets { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.history-analysis-presets > span { grid-column: 1/-1; color: #60738d; font-size: 11.5px; font-weight: 800; }
.history-analysis-presets button { height: 38px; padding: 0 10px; border: 1px solid #cfdced; border-radius: 8px; color: #536985; background: #fff; font: inherit; font-size: 12px; font-weight: 800; }
.history-analysis-presets button:hover { border-color: #8bb1e7; color: #1761dc; }
.history-analysis-presets button.active { border-color: #1761dc; color: #fff; background: linear-gradient(135deg,#1761dc,#2489d8); box-shadow: 0 5px 13px rgba(23,97,220,.18); }
.history-analysis-months { display: grid; gap: 9px; margin-top: 14px; padding-top: 13px; border-top: 1px dashed #d7e1ed; }
.history-analysis-months-head { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 12px; }
.history-analysis-months-head > span { color: #60738d; font-size: 11.5px; font-weight: 800; white-space: nowrap; }
.history-analysis-months-head small { margin-left: 5px; color: #1761dc; font-size: 10px; font-weight: 800; }
.history-analysis-month-actions { display: flex; gap: 6px; }
.history-analysis-month-actions button { min-height: 27px; padding: 3px 10px; border: 1px solid #cfdced; border-radius: 7px; color: #536985; background: rgba(255,255,255,.9); font: inherit; font-size: 10.5px; font-weight: 800; }
.history-analysis-month-actions button:hover { border-color: #78a9e9; color: #1761dc; background: #f5f9ff; }
.history-analysis-month-list { display: flex; gap: 7px; flex-wrap: wrap; }
.history-analysis-months label { position: relative; cursor: pointer; }
.history-analysis-months input { position: absolute; opacity: 0; pointer-events: none; }
.history-analysis-months label > span { display: inline-flex; min-height: 30px; padding: 5px 10px 5px 7px; align-items: center; gap: 6px; border: 1px solid #d6e0ec; border-radius: 999px; color: #64758c; background: rgba(255,255,255,.8); font-size: 11.5px; font-weight: 700; }
.history-analysis-months label i { display: grid; width: 16px; height: 16px; place-items: center; border: 1px solid #c6d3e2; border-radius: 50%; color: transparent; background: #fff; font-size: 10px; font-style: normal; line-height: 1; }
.history-analysis-months label.selected > span { border-color: #87b6ef; color: #1559b8; background: #e9f2ff; box-shadow: inset 0 0 0 1px rgba(23,97,220,.05); }
.history-analysis-months label.selected i { border-color: #1761dc; color: #fff; background: #1761dc; }
.history-analysis-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.history-analysis-kpi { position: relative; min-width: 0; padding: 15px 15px 13px; overflow: hidden; border: 1px solid #dce5f1; border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(24,52,92,.055); }
.history-analysis-kpi::before { content:""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#1761dc,#18a99d); }
.history-analysis-kpi > div:first-child { display: flex; gap: 6px; align-items: center; justify-content: space-between; }
.history-analysis-kpi > div:first-child span { color: #5f718a; font-size: 12px; font-weight: 800; }
.history-analysis-kpi > div:first-child small { color: #94a0b0; font-size: 9.5px; white-space: nowrap; }
.history-analysis-kpi > strong { display: block; margin: 8px 0 7px; overflow: hidden; color: #15385f; font-size: clamp(20px,1.55vw,27px); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.history-analysis-kpi > p { margin: 8px 0 0; overflow: hidden; color: #8693a5; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.history-analysis-delta { display: inline-flex; min-height: 24px; padding: 3px 7px; align-items: center; gap: 5px; border-radius: 999px; font-size: 10.5px; font-weight: 900; }
.history-analysis-delta small { font-size: 9px; font-weight: 600; opacity: .72; }
.history-analysis-delta.positive { color: #087b5f; background: #e7f7f0; }
.history-analysis-delta.negative { color: #b6403a; background: #fff0ed; }
.history-analysis-delta.neutral { color: #7d8999; background: #f0f3f7; }
.history-analysis-chart-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.history-analysis-chart-card { min-width: 0; padding: 15px 16px 10px; }
.history-analysis-card-head { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.history-analysis-card-head h3 { margin-bottom: 3px; color: #223b5b; font-size: 15px; }
.history-analysis-card-head p { margin: 0; color: #8794a5; font-size: 10px; }
.history-analysis-card-head > strong { position: relative; color: #183b67; font-size: 17px; white-space: nowrap; }
.history-analysis-card-head > strong::before { content:""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--series-color); }
.history-analysis-line-chart { display: block; width: 100%; height: auto; margin-top: 4px; overflow: visible; }
.history-analysis-gridline { stroke: #dfe7f1; stroke-width: .8; stroke-dasharray: 3 3; }
.history-analysis-series-line { fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.history-analysis-point { stroke: #fff; stroke-width: 1.5; }
.history-analysis-y-label,
.history-analysis-x-label,
.history-analysis-axis-title { fill: #7e8da1; font-size: 9px; }
.history-analysis-chart-empty { display: grid; min-height: 150px; place-items: center; color: #8491a2; font-size: 12px; }
.history-analysis-rate-panel,
.history-analysis-comparison-panel,
.history-analysis-metric-panel { padding: 18px 20px; overflow: hidden; }
.history-analysis-section-head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.history-analysis-section-head .eyebrow { margin-bottom: 3px; color: #1761dc; font-weight: 900; letter-spacing: .06em; }
.history-analysis-section-head h3 { margin: 0; color: #203a5c; }
.history-analysis-section-head > p { max-width: 480px; margin: 3px 0 0; color: #7b899d; font-size: 11px; line-height: 1.5; text-align: right; }
.history-analysis-rate-chart-wrap { min-width: 720px; }
.history-analysis-legend { display: flex; gap: 8px 18px; flex-wrap: wrap; justify-content: flex-end; padding-right: 8px; }
.history-analysis-legend span { display: inline-flex; gap: 6px; align-items: center; color: #60728a; font-size: 11px; font-weight: 700; }
.history-analysis-legend span.is-zero-series { color: #8b97a8; }
.history-analysis-legend i { width: 18px; height: 3px; border-radius: 999px; background: var(--legend-color); }
.history-analysis-rate-chart { display: block; width: 100%; height: auto; }
.history-analysis-rate-value-label { font-size: 8px; font-weight: 850; paint-order: stroke fill; stroke: rgba(255,255,255,.96); stroke-width: 2.5px; stroke-linejoin: round; }
.history-analysis-rate-label-divider { stroke: #dce5f1; stroke-width: 1; }
.history-analysis-rate-row-name { font-size: 7px; font-weight: 850; }
.history-analysis-comparison-wrap { max-width: 100%; overflow: auto; border: 1px solid #e0e7f0; border-radius: 9px; }
.history-analysis-comparison-table { min-width: 980px; border-collapse: separate; border-spacing: 0; }
.history-analysis-comparison-table th,
.history-analysis-comparison-table td { padding: 9px 11px; border-right: 1px solid #e7edf4; border-bottom: 1px solid #e7edf4; color: #5b6e87; font-size: 11.5px; text-align: center; white-space: nowrap; }
.history-analysis-comparison-table thead th { position: sticky; z-index: 2; top: 0; color: #536985; background: #f5f8fc; font-size: 11px; }
.history-analysis-comparison-table tbody th { position: sticky; z-index: 1; left: 0; color: #294260; background: #fbfcfe; text-align: left; }
.history-analysis-comparison-value { font-size: 11.5px; }
.history-analysis-comparison-value.positive { color: #087c61; }
.history-analysis-comparison-value.negative { color: #bd443d; }
.history-analysis-comparison-missing { color: #a0aab8; }
.history-analysis-matrix-wrap { max-width: 100%; overflow: auto; border: 1px solid #e0e7f0; border-radius: 9px; }
.history-analysis-matrix { min-width: 760px; border-collapse: separate; border-spacing: 0; }
.history-analysis-matrix th,
.history-analysis-matrix td { min-width: 82px; padding: 9px 10px; border-right: 1px solid #e7edf4; border-bottom: 1px solid #e7edf4; text-align: center; white-space: nowrap; }
.history-analysis-matrix thead th { position: sticky; z-index: 2; top: 0; color: #536985; background: #f5f8fc; font-size: 11px; }
.history-analysis-matrix thead th:first-child,
.history-analysis-matrix tbody th { position: sticky; z-index: 3; left: 0; min-width: 150px; color: #294260; background: #fbfcfe; text-align: left; }
.history-analysis-matrix tbody th { font-size: 11.5px; }
.history-analysis-score { display: inline-grid; min-width: 48px; min-height: 28px; padding: 4px 7px; place-items: center; border-radius: 7px; font-size: 12px; font-weight: 900; }
.history-analysis-score.danger { color: #b13c39; background: #fff0ed; }
.history-analysis-score.warning { color: #9a6310; background: #fff5df; }
.history-analysis-score.good { color: #1761a8; background: #eaf3ff; }
.history-analysis-score.excellent { color: #087c61; background: #e6f7f0; }
.history-analysis-matrix-delta { font-size: 11.5px; }
.history-analysis-matrix-delta.positive { color: #087c61; }
.history-analysis-matrix-delta.negative { color: #bd443d; }
.history-analysis-matrix-delta.neutral { color: #8b97a6; }
.weight-total { display:grid; gap:3px; min-width:110px; padding:10px 14px; border-radius:8px; background:#edf7f3; color:var(--green); }
.weight-total.invalid { background:#fff2f0; color:var(--red); }
.weight-total strong { font-size:22px; }

/* 系统设置：财报标准 / 只读 OGSM 策略库 */
.system-settings-tabs {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid #d7e2ef;
  border-radius: 13px;
  background: #f3f7fb;
  box-shadow: 0 5px 16px rgba(24, 54, 91, .05);
}
.system-settings-tabs button {
  min-width: 116px;
  padding: 10px 20px;
  border: 0;
  border-radius: 9px;
  color: #667b94;
  background: transparent;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.system-settings-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #1761dc, #168f83);
  box-shadow: 0 6px 15px rgba(23, 97, 220, .18);
}
.system-financial-settings { display: grid; gap: 10px; }
.system-financial-settings .panel { padding: 14px 16px; }
.system-financial-settings .config-summary { gap: 12px; }
.system-financial-settings .config-summary h3 { margin-bottom: 3px; font-size: 16px; }
.system-financial-settings .config-summary .metric-note { font-size: 11px; line-height: 1.35; }
.system-financial-settings .weight-total { padding: 7px 11px; }
.system-financial-settings .weight-total strong { font-size: 18px; }
.system-financial-settings .form-section { gap: 8px; }
.system-financial-settings .section-header h3 { margin: 0; font-size: 15px; }
.system-financial-settings .form-grid { grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 7px 8px; }
.system-financial-settings .field { gap: 4px; padding: 9px 10px; border-radius: 9px; }
.system-financial-settings .field label { font-size: 12px; line-height: 1.2; }
.system-financial-settings .field > input,
.system-financial-settings .config-percent-input { width: min(100%, 180px); }
.system-financial-settings .field input { min-height: 32px; padding-inline: 8px; font-size: 12px; }
.system-financial-settings .config-percent-input { grid-template-columns: minmax(0, 1fr) 31px; }
.system-financial-settings .field .hint { font-size: 10px; line-height: 1.2; }
.system-ogsm-library { display: grid; gap: 18px; }
.system-ogsm-library-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr);
  gap: 28px;
  align-items: center;
  padding: 28px;
  overflow: hidden;
  border: 1px solid #d5e4f1;
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(93, 228, 208, .24), transparent 30%),
    linear-gradient(128deg, #12345f 0%, #174f7e 54%, #147f78 100%);
  box-shadow: 0 14px 36px rgba(17, 58, 91, .14);
}
.system-settings-kicker { color: #8de5d7; font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.system-ogsm-library-hero h3 { margin: 7px 0 7px; font-size: 26px; }
.system-ogsm-library-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.75); line-height: 1.7; }
.system-ogsm-library-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.system-ogsm-library-stats div { display: grid; gap: 4px; padding: 16px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.09); text-align: center; backdrop-filter: blur(4px); }
.system-ogsm-library-stats strong { font-size: 24px; }
.system-ogsm-library-stats span { color: rgba(255,255,255,.7); font-size: 11px; }
.system-ogsm-topic-section,
.system-ogsm-detail { padding: 22px; border: 1px solid #dce5ef; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(31, 55, 83, .06); }
.system-ogsm-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.system-ogsm-section-heading > div { display: grid; gap: 4px; }
.system-ogsm-section-heading span { color: #168f83; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.system-ogsm-section-heading strong { color: #17395f; font-size: 18px; }
.system-ogsm-section-heading small { color: #8292a5; }
.system-ogsm-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.system-ogsm-topic-card { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 7px 9px; min-height: 92px; padding: 15px; overflow: hidden; border: 1px solid #dbe5ef; border-radius: 12px; color: #294866; background: linear-gradient(145deg, #fff, #f7fafd); text-align: left; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.system-ogsm-topic-card:hover { transform: translateY(-2px); border-color: #9dbfe6; box-shadow: 0 9px 20px rgba(41, 81, 121, .1); }
.system-ogsm-topic-card.active { border-color: #1b76d1; background: linear-gradient(145deg, #edf5ff, #eefbf8); box-shadow: inset 3px 0 #1761dc, 0 8px 18px rgba(23, 97, 220, .1); }
.system-ogsm-topic-card > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #1761dc; background: #e7f0ff; font-size: 11px; font-weight: 900; }
.system-ogsm-topic-card > strong { align-self: center; min-width: 0; color: #118779; font-size: 13px; line-height: 1.45; }
.system-ogsm-topic-card > small { grid-column: 2; color: #73879c; font-size: 11px; }
.system-ogsm-detail { scroll-margin-top: 18px; }
.system-ogsm-detail-head { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid #e5ecf3; }
.system-ogsm-detail-index { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #1761dc, #12a18f); font-size: 28px; font-weight: 900; box-shadow: 0 8px 18px rgba(23, 97, 220, .2); }
.system-ogsm-detail-head h3 { margin: 0 0 5px; color: #118779; font-size: 21px; }
.system-ogsm-detail-head p { margin: 0; color: #74869a; font-size: 12px; }
.system-ogsm-detail-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; max-width: 250px; }
.system-ogsm-detail-meta span { padding: 6px 9px; border-radius: 999px; color: #3f607d; background: #edf3f8; font-size: 11px; font-weight: 800; }
.system-ogsm-og-row { display: grid; grid-template-columns: 1fr 1fr; margin: 17px 0; overflow: hidden; border: 1px solid #dbe4ed; border-radius: 12px; }
.system-ogsm-og-row > div { min-height: 88px; padding: 15px 17px; }
.system-ogsm-og-row > div + div { border-left: 1px solid #dbe4ed; }
.system-ogsm-og-row > div:first-child { background: #eef6ff; }
.system-ogsm-og-row > div:last-child { background: #fff5ea; }
.system-ogsm-og-row b { color: #1761dc; font-size: 11px; letter-spacing: .04em; }
.system-ogsm-og-row p { margin: 7px 0 0; color: #2f4d68; line-height: 1.65; }
.system-ogsm-strategy-list { display: grid; gap: 9px; }
.system-ogsm-strategy-card { overflow: hidden; border: 1px solid #dce5ee; border-radius: 12px; background: #fbfcfe; }
.system-ogsm-strategy-card[open] { border-color: #afcbe9; box-shadow: 0 7px 18px rgba(30, 73, 116, .07); }
.system-ogsm-strategy-card > summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto 18px; gap: 12px; align-items: center; padding: 13px 15px; list-style: none; cursor: pointer; }
.system-ogsm-strategy-card > summary::-webkit-details-marker { display: none; }
.system-ogsm-strategy-no { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #0d7d72; background: #e3f7f3; font-size: 11px; font-weight: 900; }
.system-ogsm-strategy-summary { display: grid; gap: 4px; min-width: 0; }
.system-ogsm-strategy-summary strong { color: #1d4262; font-size: 13px; line-height: 1.5; }
.system-ogsm-strategy-summary small { display: flex; align-items: baseline; gap: 7px; overflow: hidden; color: #7a8c9f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.system-ogsm-strategy-summary small b { flex: 0 0 auto; color: #d78013; font-size: 10px; font-weight: 900; }
.system-ogsm-strategy-summary small em { min-width: 0; overflow: hidden; font-style: normal; text-overflow: ellipsis; }
.system-ogsm-child-count { padding: 5px 9px; border-radius: 999px; color: #576d83; background: #edf2f7; font-size: 10px; font-weight: 800; }
.system-ogsm-strategy-card > summary > i { width: 8px; height: 8px; border-right: 2px solid #7790a7; border-bottom: 2px solid #7790a7; transform: rotate(45deg); transition: transform .18s ease; }
.system-ogsm-strategy-card[open] > summary > i { transform: rotate(225deg); }
.system-ogsm-strategy-body { padding: 15px; border-top: 1px solid #e5ecf3; }
.system-ogsm-single-child-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: start; }
.system-ogsm-single-child { grid-column: span 4; overflow: hidden; border: 1px solid #d8e3ed; border-radius: 11px; background: #fff; }
.system-ogsm-single-child.sm-count-1 { grid-column: span 1; }
.system-ogsm-single-child.sm-count-2 { grid-column: span 2; }
.system-ogsm-single-child.sm-count-3 { grid-column: span 3; }
.system-ogsm-single-child header { padding: 9px 12px; color: #fff; background: linear-gradient(90deg, #1d5da0, #247ca8); font-size: 11px; font-weight: 900; letter-spacing: .02em; }
.system-ogsm-child-og { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-bottom: 1px solid #dfe8f1; }
.system-ogsm-child-og > div { min-height: 82px; padding: 10px 11px; }
.system-ogsm-child-og > div + div { border-left: 1px solid #d8e4ef; }
.system-ogsm-child-og .objective { background: linear-gradient(145deg, #eaf4ff, #f4f9ff); }
.system-ogsm-child-og .goal { background: linear-gradient(145deg, #fff2e5, #fff9f1); }
.system-ogsm-child-og b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; color: #1761dc; background: rgba(23,97,220,.1); font-size: 11px; }
.system-ogsm-child-og .goal b { color: #cb7411; background: rgba(214,129,26,.12); }
.system-ogsm-child-sm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.system-ogsm-single-child.sm-count-1 .system-ogsm-child-sm-grid { grid-template-columns: 1fr; }
.system-ogsm-single-child.sm-count-2 .system-ogsm-child-sm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.system-ogsm-single-child.sm-count-3 .system-ogsm-child-sm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.system-ogsm-child-sm-pair { min-width: 0; border-right: 1px solid #dfe7ef; }
.system-ogsm-child-sm-pair:nth-child(4n),
.system-ogsm-child-sm-pair:last-child { border-right: 0; }
.system-ogsm-child-sm-pair:nth-child(n + 5) { border-top: 1px solid #dfe7ef; }
.system-ogsm-child-sm-pair > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 7px; padding: 10px 11px; }
.system-ogsm-child-sm-pair > div + div { border-top: 1px solid #edf1f5; }
.system-ogsm-child-sm-pair b { color: #1761dc; font-size: 11px; }
.system-ogsm-child-sm-pair .measurement b { color: #d6811a; }
.system-ogsm-single-child p { margin: 0; color: #37546d; font-size: 12px; line-height: 1.55; }
.system-ogsm-child-og p { margin-top: 7px; }
.system-ogsm-child-sm-pair footer { padding: 9px 11px 11px; border-top: 1px solid #edf1f5; background: #f8fafc; }
.system-ogsm-child-sm-pair footer > span { color: #71859a; font-size: 10px; font-weight: 900; }
.system-ogsm-child-sm-pair ol { display: grid; gap: 4px; margin: 6px 0 0; padding-left: 19px; color: #526a80; font-size: 11px; line-height: 1.45; }
.system-ogsm-child-empty { grid-column: 1 / -1; padding: 20px; border: 1px dashed #cad7e3; border-radius: 10px; color: #7e90a2; text-align: center; }
.system-ogsm-library-state { display: grid; justify-items: center; gap: 8px; min-height: 260px; padding: 60px 20px; color: #355673; text-align: center; }
.system-ogsm-library-state p { margin: 0; color: #8292a4; }
.system-ogsm-library-loader { width: 34px; height: 34px; border: 3px solid #dce8f4; border-top-color: #1761dc; border-radius: 50%; animation: system-ogsm-spin .8s linear infinite; }
@keyframes system-ogsm-spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .system-ogsm-library-hero { grid-template-columns: 1fr; }
  .system-ogsm-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .system-ogsm-single-child-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-ogsm-single-child { grid-column: span 2; }
  .system-ogsm-single-child.sm-count-1 { grid-column: span 1; }
  .system-ogsm-single-child.sm-count-2,
  .system-ogsm-single-child.sm-count-3,
  .system-ogsm-single-child.sm-count-4 { grid-column: span 2; }
  .system-ogsm-child-sm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-ogsm-child-sm-pair:nth-child(4n) { border-right: 1px solid #dfe7ef; }
  .system-ogsm-child-sm-pair:nth-child(2n),
  .system-ogsm-child-sm-pair:last-child { border-right: 0; }
  .system-ogsm-child-sm-pair:nth-child(n + 3) { border-top: 1px solid #dfe7ef; }
}
@media (max-width: 760px) {
  .system-settings-tabs { display: flex; width: 100%; }
  .system-settings-tabs button { flex: 1; min-width: 0; }
  .system-ogsm-library-hero { padding: 21px; }
  .system-ogsm-library-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-ogsm-topic-section, .system-ogsm-detail { padding: 15px; }
  .system-ogsm-topic-grid { grid-template-columns: 1fr; }
  .system-ogsm-section-heading, .system-ogsm-detail-head { align-items: flex-start; }
  .system-ogsm-detail-head { grid-template-columns: 46px minmax(0, 1fr); }
  .system-ogsm-detail-index { width: 46px; height: 46px; border-radius: 12px; font-size: 22px; }
  .system-ogsm-detail-meta { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
  .system-ogsm-og-row, .system-ogsm-single-child-wrap, .system-ogsm-child-sm-grid { grid-template-columns: 1fr; }
  .system-ogsm-single-child,
  .system-ogsm-single-child.sm-count-1,
  .system-ogsm-single-child.sm-count-2,
  .system-ogsm-single-child.sm-count-3,
  .system-ogsm-single-child.sm-count-4 { grid-column: span 1; }
  .system-ogsm-child-sm-pair { border-right: 0; border-top: 1px solid #dfe7ef; }
  .system-ogsm-child-sm-pair:first-child { border-top: 0; }
  .system-ogsm-og-row > div + div { border-top: 1px solid #dbe4ed; border-left: 0; }
  .system-ogsm-strategy-card > summary { grid-template-columns: 38px minmax(0, 1fr) 14px; gap: 8px; }
  .system-ogsm-child-count { display: none; }
}
.row-actions { display:flex; gap:6px; }
.danger-button { color:var(--red); }
.empty-state { padding:34px; text-align:center; color:var(--muted); }

/* CloudBase 手机验证码登录 */
.cloud-status { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid #e5e6eb; border-radius: 4px; color: #4e5969; background: #fff; font-size: 12px; white-space: nowrap; }
.cloud-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #c9cdd4; }
.cloud-status.on::before { display: none; }
.cloud-status.off::before { background: #e34d59; }
.status-menu-trigger { display: grid; place-items: center; width: 18px; height: 26px; padding: 0; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
.status-menu-trigger:hover,
.status-menu-trigger[aria-expanded="true"] { background: #edf7f3; }
.status-online-dot { width: 9px; height: 9px; border-radius: 50%; background: #00a870; box-shadow: 0 0 0 3px rgba(0,168,112,.1); }
.status-account-copy { cursor: default; user-select: text; }
.status-account-menu { position: absolute; z-index: 50; top: calc(100% + 8px); left: 0; width: 136px; padding: 7px; border: 1px solid #e5e6eb; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px rgba(15,35,70,.16); }
.status-account-menu[hidden] { display: none; }
.status-account-menu::before { content: ""; position: absolute; top: -5px; left: 16px; width: 9px; height: 9px; border-top: 1px solid #e5e6eb; border-left: 1px solid #e5e6eb; background: #fff; transform: rotate(45deg); }
.status-account-menu > span { display: block; padding: 5px 8px 7px; color: #86909c; font-size: 11px; }
.status-account-menu button { width: 100%; padding: 8px; border: 0; border-radius: 5px; color: #e34d59; background: transparent; text-align: left; cursor: pointer; }
.status-account-menu button:hover { background: #fff0f1; }
.muted { color: #86909c; }
.seg { display: flex; gap: 6px; margin-bottom: 12px; }
.seg-btn { flex: 1; padding: 7px 0; border: 1px solid #e5e6eb; border-radius: 4px; color: #4e5969; background: #fff; cursor: pointer; }
.seg-btn.active { border-color: #0052d9; color: #fff; background: #0052d9; }
.phone-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(9, 24, 48, .58);
  backdrop-filter: blur(8px);
}
.login-wall {
  position: fixed;
  inset: 0;
  z-index: 900;
  overflow: auto;
  background: #f5f7fa;
  color: #1d2129;
}
.cb-login-page { display: grid; grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr); min-height: 100%; }
.cb-brand-pane { position: relative; display: flex; flex-direction: column; min-height: 680px; padding: 42px clamp(38px, 5vw, 78px); overflow: hidden; color: #fff; background: linear-gradient(145deg, #0052d9 0%, #006eff 52%, #00a4ff 100%); }
.cb-brand-pane::before,
.cb-brand-pane::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.cb-brand-pane::before { width: 520px; height: 520px; right: -260px; top: 8%; }
.cb-brand-pane::after { width: 300px; height: 300px; left: -160px; bottom: 4%; }
.cb-product-brand { position: relative; z-index: 1; display: flex; gap: 12px; align-items: center; }
.cb-product-brand > div { display: grid; gap: 1px; }
.cb-product-brand b { font-size: 14px; font-weight: 500; opacity: .84; }
.cb-product-brand strong { font-size: 20px; letter-spacing: .2px; }
.cb-cloud-mark { position: relative; display: block; width: 44px; height: 34px; }
.cb-cloud-mark i { position: absolute; display: block; border-radius: 99px; background: #fff; }
.cb-cloud-mark i:nth-child(1) { width: 29px; height: 18px; left: 3px; bottom: 3px; transform: rotate(-18deg); }
.cb-cloud-mark i:nth-child(2) { width: 25px; height: 16px; right: 2px; bottom: 5px; transform: rotate(20deg); opacity: .92; }
.cb-cloud-mark i:nth-child(3) { width: 18px; height: 18px; left: 14px; top: 3px; }
.cb-brand-content { position: relative; z-index: 1; margin: auto 0; max-width: 540px; }
.login-wall-logo { width: 86px; height: 86px; margin-bottom: 30px; border: 4px solid rgba(255,255,255,.3); border-radius: 22px; object-fit: cover; box-shadow: 0 18px 44px rgba(0,38,120,.25); }
.cb-brand-eyebrow { display: block; margin-bottom: 12px; color: rgba(255,255,255,.72); font-size: 11px; letter-spacing: 3px; }
.cb-brand-content h1 { margin: 0 0 18px; color: #fff; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.15; letter-spacing: -2px; }
.cb-brand-content > p { max-width: 460px; margin: 0; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.9; }
.cb-brand-content ul { display: grid; gap: 14px; margin: 34px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.9); }
.cb-brand-content li { display: flex; gap: 11px; align-items: center; }
.cb-brand-content li span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #006eff; background: #fff; font-size: 12px; font-weight: 800; }
.cb-brand-foot { position: relative; z-index: 1; color: rgba(255,255,255,.58); }
.cb-form-pane { display: grid; place-items: center; padding: 44px clamp(28px, 6vw, 90px); background: #f5f7fa; }
.cb-native-card { width: min(100%, 440px); }
.cb-login-form { padding: 38px 42px; border: 1px solid #e5e6eb; border-radius: 4px; background: #fff; box-shadow: 0 10px 40px rgba(0, 38, 84, .08); }
.cb-form-head { margin-bottom: 30px; }
.cb-form-kicker { display: inline-block; margin-bottom: 9px; color: #0052d9; font-size: 13px; font-weight: 600; }
.cb-form-head h2 { margin: 0 0 10px; color: #1d2129; font-size: 26px; font-weight: 600; }
.phone-tip { min-height: 42px; margin: 0; color: #86909c; font-size: 13px; line-height: 1.65; }
.phone-tip[data-state="error"] { color: #e34d59; }
.phone-tip[data-state="success"] { color: #00a870; }
.phone-tip[data-state="loading"] { color: #0052d9; }
.cb-field-label { display: block; margin: 19px 0 8px; color: #4e5969; font-size: 13px; font-weight: 500; }
.cb-phone-field { display: grid; grid-template-columns: 62px 1fr; align-items: center; min-height: 46px; border: 1px solid #c9cdd4; border-radius: 3px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.cb-phone-field:focus-within { border-color: #0052d9; box-shadow: 0 0 0 2px rgba(0,82,217,.1); }
.cb-phone-field > span { display: grid; place-items: center; height: 22px; border-right: 1px solid #e5e6eb; color: #4e5969; font-size: 14px; }
.phone-input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #c9cdd4; border-radius: 3px; background: #fff; color: #1d2129; font: inherit; }
.cb-phone-field .phone-input { border: 0; }
.phone-input:focus { outline: none; border-color: #0052d9; box-shadow: 0 0 0 2px rgba(0,82,217,.1); }
.phone-input:disabled { color: #86909c; background: #f7f8fa; }
.cb-phone-field .phone-input:focus { box-shadow: none; }
.phone-row { display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 10px; margin: 0; }
.cb-code-button { border: 1px solid #0052d9; border-radius: 3px; color: #0052d9; background: #fff; font-weight: 500; cursor: pointer; }
.cb-code-button:hover:not(:disabled) { background: #ecf2fe; }
.cb-code-button:disabled { border-color: #c9cdd4; color: #86909c; background: #f2f3f5; cursor: not-allowed; }
.cb-login-button { width: 100%; min-height: 46px; margin-top: 26px; border: 0; border-radius: 3px; color: #fff; background: #0052d9; font-size: 15px; font-weight: 600; cursor: pointer; box-shadow: 0 5px 16px rgba(0,82,217,.18); }
.cb-login-button:hover:not(:disabled) { background: #266fe8; }
.cb-login-button:disabled { color: #c9cdd4; background: #e5e6eb; box-shadow: none; cursor: not-allowed; }
.cb-auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0 13px; color: #86909c; font-size: 12px; }
.cb-auth-divider::before,
.cb-auth-divider::after { content: ""; flex: 1; height: 1px; background: #e5e6eb; }
.cb-wechat-login { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 46px; border: 1px solid #07c160; border-radius: 3px; color: #079849; background: #f3fff7; font-size: 15px; font-weight: 600; cursor: pointer; }
.cb-wechat-login:hover:not(:disabled) { background: #e9faef; }
.cb-wechat-login:disabled { opacity: .65; cursor: wait; }
.cb-wechat-login svg { width: 23px; height: 23px; fill: #07c160; }
.cb-wechat-note { min-height: 18px; margin: 8px 0 0; color: #86909c; font-size: 11px; line-height: 1.55; text-align: center; }
.cb-agreement { margin: 13px 0 24px; color: #86909c; font-size: 11px; text-align: center; }
.cb-security { display: flex; gap: 10px; align-items: center; padding: 13px 14px; border: 1px solid #e8f3ff; border-radius: 3px; background: #f2f7ff; }
.cb-security > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: #00a870; font-size: 12px; font-weight: 800; }
.cb-security div { display: grid; gap: 2px; }
.cb-security strong { color: #4e5969; font-size: 12px; }
.cb-security small { color: #86909c; font-size: 11px; }
.cb-powered { margin-top: 18px; color: #86909c; font-size: 12px; text-align: center; }
.cb-cloud-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #00a4ff; box-shadow: 8px 0 0 #0052d9; }
.phone-panel {
  position: relative;
  width: min(100%, 470px);
  padding: 18px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 6px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 28px 80px rgba(5,20,44,.3);
}
.phone-close { position: absolute; top: 14px; right: 16px; border: 0; background: transparent; color: var(--muted); font-size: 28px; cursor: pointer; }
.avatar-panel { width: min(100%, 620px); max-height: min(90vh, 720px); padding: 28px; overflow: auto; }
.avatar-panel h3 { margin: 0 0 5px; }
.avatar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }
.profile-avatar-upload { grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:11px 12px; border:1px dashed #b8cae3; border-radius:12px; background:#f7faff; }
.profile-avatar-upload input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.profile-avatar-upload-button { display:inline-flex; min-height:34px; align-items:center; justify-content:center; margin:0; cursor:pointer; }
.profile-avatar-upload input:focus-visible + .profile-avatar-upload-button { outline:3px solid rgba(23,97,220,.18); outline-offset:2px; }
.profile-avatar-upload small { color:#77869a; font-size:10px; line-height:1.5; }
.avatar-group-title { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; padding: 4px 2px 0; color: #183a6a; }
.avatar-group-title.business { margin-top: 5px; padding-top: 14px; border-top: 1px solid #e4ebf4; color: #5a3d75; }
.avatar-group-title span { font-size: 13px; font-weight: 900; }
.avatar-group-title small { color: #8a97a9; font-size: 10px; }
.avatar-choice { display: grid; gap: 6px; place-items: center; padding: 8px 7px 7px; border: 1px solid #e5e6eb; border-radius: 12px; color: #4e5969; background: #fff; font-size: 11px; cursor: pointer; transition: transform .15s, border-color .15s, box-shadow .15s; }
.avatar-choice:hover { transform: translateY(-2px); border-color: #0052d9; box-shadow: 0 8px 20px rgba(0,82,217,.12); }
.avatar-opt { width: 100%; aspect-ratio: 1; border-radius: 11px; }
.status-avatar,
.row-avatar { width: 28px; height: 28px; border-radius: 7px; vertical-align: middle; object-fit: cover; }
.tag-me { display: inline-block; padding: 2px 6px; border-radius: 99px; color: #fff; background: var(--blue); font-size: 11px; }
.tag-archived { display: inline-block; margin-left: 5px; padding: 2px 7px; border: 1px solid #f2c48f; border-radius: 99px; color: #9a5410; background: #fff4e6; font-size: 11px; font-weight: 700; white-space: nowrap; }
.user-manager-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.user-manager-head h3 { margin-bottom: 5px; }
.user-manager-head .metric-note { margin-bottom: 0; }
.user-manager-panel { display: grid; gap: 18px; }
.user-manager-controls { display: flex; gap: 10px; align-items: center; }
.user-usage-sort { display: grid; grid-template-columns: auto minmax(180px, 220px); gap: 8px; align-items: center; min-height: 42px; padding: 0 10px; border: 1px solid #d6e1ef; border-radius: 8px; color: #68768c; background: #fff; font-size: 12px; }
.user-usage-sort select { min-width: 0; padding: 8px 24px 8px 4px; border: 0; outline: 0; color: #122038; background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.user-search-box { display: grid; grid-template-columns: 34px minmax(210px, 300px); align-items: center; min-height: 42px; border: 1px solid #d6e1ef; border-radius: 8px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.user-search-box:focus-within { border-color: #1761dc; box-shadow: 0 0 0 3px rgba(23,97,220,.1); }
.user-search-box span { display: grid; place-items: center; color: #68768c; font-size: 22px; transform: rotate(-15deg); }
.user-search-box input { width: 100%; min-width: 0; padding: 9px 12px 9px 2px; border: 0; outline: 0; color: #122038; background: transparent; font: inherit; }
.user-search-box input::placeholder { color: #9aa7b9; }
.user-filter-row { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid #e6edf6; }
.user-date-filters, .user-batch-actions { display: flex; gap: 10px; align-items: center; }
.user-date-filters label { display: grid; grid-template-columns: auto minmax(132px, 1fr); gap: 8px; align-items: center; min-height: 40px; padding: 0 10px; border: 1px solid #d6e1ef; border-radius: 8px; color: #68768c; background: #fff; font-size: 12px; }
.user-date-filters input { min-width: 0; padding: 7px 0; border: 0; outline: 0; color: #122038; background: transparent; font: inherit; }
.date-filter-arrow { color: #8b98aa; font-size: 12px; }
.user-filter-clear { white-space: nowrap; }
.user-batch-actions { padding: 7px; border: 1px solid #dbe5f2; border-radius: 10px; background: #f6f9fd; }
.user-selected-count { min-width: 78px; padding: 0 6px; color: #596a82; font-size: 13px; white-space: nowrap; }
.user-selected-count strong { color: #1761dc; font-size: 16px; }
.batch-topup-input { display: grid; grid-template-columns: auto 70px auto; gap: 6px; align-items: center; min-height: 38px; padding: 0 9px; border: 1px solid #d6e1ef; border-radius: 8px; color: #68768c; background: #fff; font-size: 12px; white-space: nowrap; }
.batch-topup-input input { width: 70px; padding: 6px; border: 0; outline: 0; color: #122038; background: transparent; font: inherit; font-weight: 700; text-align: right; }
.batch-topup-input em { color: #68768c; font-style: normal; }
.user-batch-actions .primary-button { min-height: 38px; white-space: nowrap; }
.user-batch-actions .primary-button:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; }
.user-select-cell { width: 42px; text-align: center; }
.user-select-cell input { width: 17px; height: 17px; accent-color: #1761dc; cursor: pointer; }
.user-table { min-width: 1180px; }
.user-table tbody tr:has([data-user-select]:checked) { background: #f1f6ff; }
.user-clickable-row { cursor: pointer; transition: background .15s; }
.user-clickable-row:hover { background: #f6f9ff; }
.user-profile-link, .user-used-points { padding: 0; border: 0; color: #1558c8; background: transparent; font: inherit; font-weight: 800; text-align: left; cursor: pointer; }
.user-profile-link:hover { text-decoration: underline; }
.user-balance-points,
.user-used-points { display:inline-flex; min-width:64px; gap:6px; align-items:baseline; white-space:nowrap; }
.user-balance-points { color:#153d75; font-weight:800; }
.user-balance-points small,
.user-used-points small { color:#78879b; font-size:10px; font-weight:600; }
.user-used-points { color:#0c7d64; }
.user-used-points strong { color:inherit; font:inherit; font-weight:800; }
.user-usage-warning { margin: -4px 0 0; padding: 9px 12px; border-radius: 7px; color: #9a5c06; background: #fff4df; font-size: 12px; }
.user-usage-detail { scroll-margin-top: 18px; border-top: 4px solid #1761dc; }
.user-usage-detail-head { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }
.user-usage-detail-head .eyebrow { margin: 0 0 4px; color: #1761dc; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.user-usage-detail-head h3 { margin: 0 0 5px; }
.user-usage-detail-head .metric-note { margin: 0; }
.user-usage-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.user-usage-summary > div { display:flex; gap:12px; min-width:0; padding:13px 15px; align-items:baseline; justify-content:space-between; border:1px solid #dce6f3; border-radius:9px; background:linear-gradient(145deg,#f4f8ff,#fff); white-space:nowrap; }
.user-usage-summary span { color: #6a7890; font-size: 12px; }
.user-usage-summary strong { color: #153d75; font-size: 22px; }
.user-usage-summary strong small { color:#78879b; font-size:10px; font-weight:700; }
.user-usage-table { min-width: 1050px; }
.user-usage-table td { vertical-align: middle; }
.user-usage-table td:nth-child(3) { min-width: 220px; }
.user-usage-table td:nth-child(3) small { display: block; margin-top: 3px; color: #7d8ba0; font-size: 11px; }
.usage-type, .usage-evidence { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 99px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.usage-type.parse { color: #1859bd; background: #e7efff; }
.usage-type.ogsm { color: #0c7657; background: #e1f6ee; }
.usage-points { color: #c44438; white-space: nowrap; }
.usage-evidence.exact { color: #0c7657; background: #e1f6ee; }
.usage-evidence.estimated { color: #9a5c06; background: #fff0d8; }
.user-usage-empty { display: grid; min-height: 110px; place-items: center; padding: 20px; border: 1px dashed #ccd9e9; border-radius: 10px; color: #718198; background: #f8fbff; text-align: center; }

#view-optimization { box-sizing: border-box; width: 100%; min-width: 0; }
#view-optimization > * { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.optimization-table-wrap { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.optimization-table { width: 100%; min-width: 1180px; table-layout: fixed; }
.optimization-table thead th:nth-child(1) { width: 128px; }
.optimization-table thead th:nth-child(2) { width: 205px; }
.optimization-table thead th:nth-child(3) { width: 380px; }
.optimization-table thead th:nth-child(4) { width: 118px; }
.optimization-table thead th:nth-child(5) { width: 150px; }
.optimization-table thead th:nth-child(6) { width: 145px; }
.optimization-tools-panel { margin-bottom: 18px; padding: 22px; border: 1px solid #d6e3f2; border-radius: 14px; background: linear-gradient(135deg, #f7faff 0%, #eef7f7 100%); box-shadow: 0 10px 26px rgba(20,55,95,.07); }
.optimization-tools-head { display: flex; gap: 28px; align-items: end; justify-content: space-between; margin-bottom: 16px; }
.optimization-tools-head .eyebrow { margin: 0 0 4px; color: #1761dc; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.optimization-tools-head h3 { margin: 0; color: #102b50; font-size: 21px; }
.optimization-tools-head > p { max-width: 620px; margin: 0; color: #667890; font-size: 12px; line-height: 1.65; }
.optimization-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.optimization-tool-card { display: grid; grid-template-columns: 46px 1fr auto; gap: 13px; align-items: center; min-height: 100px; padding: 15px 17px; border: 1px solid #d5e2f2; border-radius: 11px; color: #152f52; background: rgba(255,255,255,.9); text-align: left; font: inherit; cursor: pointer; box-shadow: 0 7px 18px rgba(20,55,95,.06); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.optimization-tool-card:hover { transform: translateY(-2px); border-color: #8bb6eb; box-shadow: 0 11px 24px rgba(23,97,220,.13); }
.optimization-tool-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #1761dc, #159b91); font-size: 20px; font-weight: 900; box-shadow: 0 8px 18px rgba(23,97,220,.2); }
.optimization-tool-copy { display: grid; gap: 5px; }
.optimization-tool-copy strong { font-size: 15px; }
.optimization-tool-copy small { color: #6a7c94; font-size: 11px; line-height: 1.55; }
.optimization-tool-link { color: #1761dc; font-size: 11px; font-weight: 900; white-space: nowrap; }
.optimization-table th { white-space: nowrap; }
.optimization-table td { vertical-align: middle; }
.optimization-direction-start > td,
.optimization-direction-start > th { border-top: 3px solid #cbd9ea; }
.optimization-direction-cell { width: 128px; padding: 15px 12px; color: #153e74; background: linear-gradient(145deg, #e8f0ff, #f4f8ff); text-align: left; vertical-align: middle; }
.optimization-direction-cell > span { display: block; margin-bottom: 5px; color: #1761dc; font-size: 20px; }
.optimization-direction-cell > strong { display: block; font-size: 15px; line-height: 1.45; }
.optimization-direction-cell > small { display: block; margin-top: 9px; color: #657890; font-size: 10px; font-weight: 600; line-height: 1.45; }
.optimization-direction-rate { display: grid; gap: 3px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #bdcfe7; white-space: normal; }
.optimization-direction-rate > span { color: #657890; font-size: 10px; font-weight: 600; }
.optimization-direction-rate > strong { color: #008c7e; font-size: 12px; font-weight: 800; line-height: 1.5; }
.optimization-direction-rate.negative > strong { color: #c54444; }
.optimization-strategy-cell { min-width: 0; }
.optimization-strategy-layout { display: flex; gap: 10px; align-items: center; min-height: 54px; }
.optimization-strategy-number { display: grid; flex: 0 0 29px; place-items: center; width: 29px; height: 29px; border-radius: 8px; color: #fff; background: #183e72; font-size: 11px; font-weight: 900; }
.optimization-strategy-layout > div { display: grid; gap: 3px; }
.optimization-strategy-cell small { color: #718096; font-size: 10px; font-weight: 500; line-height: 1.35; }
.optimization-strategy-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.optimization-method-badge,
.optimization-share-badge { display: inline-flex; min-height: 20px; padding: 2px 7px; align-items: center; border: 1px solid transparent; border-radius: 999px; font-size: 9px; font-weight: 900; line-height: 1.2; white-space: nowrap; }
.optimization-method-badge.absolute { border-color: #b7cdf8; color: #1554bf; background: #eaf1ff; }
.optimization-method-badge.relative { border-color: #9eddd2; color: #08735f; background: #e5f7f2; }
.optimization-method-badge.inactive { border-color: #d6dee9; color: #6d7b8d; background: #f1f4f8; }
.optimization-share-badge { border-color: #ead39f; color: #885600; background: #fff5d9; }
.optimization-channel-share { display: grid; width: fit-content; max-width: 100%; gap: 3px; }
.optimization-share-input { display: inline-flex; min-height: 28px; width: fit-content; max-width: 100%; padding-left: 8px; align-items: center; gap: 6px; border: 1px solid #e5c979; border-radius: 8px; color: #805100; background: linear-gradient(135deg, #fff9e9, #fff2c8); font-size: 10px; font-weight: 900; white-space: nowrap; overflow: hidden; }
.optimization-share-input.invalid { border-color: #e9968d; background: #fff0ed; color: #a23d34; }
.optimization-share-input.derived { border-color: #b8dfd2; color: #116b58; background: linear-gradient(135deg, #edf9f5, #e3f6ef); }
.optimization-share-input-control { display: inline-flex; height: 26px; align-items: center; border-left: 1px solid rgba(151,102,0,.18); background: rgba(255,255,255,.78); }
.optimization-share-input-control input { width: 42px; height: 26px; padding: 0 3px 0 5px; border: 0; outline: 0; color: #17283f; background: transparent; text-align: right; font: 900 11px/1 inherit; }
.optimization-share-input-control b { padding: 0 7px 0 2px; color: currentColor; font-size: 10px; }
.optimization-channel-context { color: #52746c !important; font-size: 9px !important; font-weight: 750 !important; line-height: 1.35 !important; }
.optimization-method-legend { display: flex; flex-wrap: wrap; gap: 6px 9px; align-items: center; margin-top: 10px; color: #62748c; font-size: 10px; }
.optimization-action-cell { min-width: 0; }
.optimization-action-cell.inactive { background: linear-gradient(135deg, rgba(246,248,251,.72), rgba(255,255,255,.34)); }
.optimization-control { display: grid; gap: 8px; width: 100%; min-width: 0; }
.optimization-share-input [data-optimization-traffic-roi] { width: 42px; text-align: center; }
.optimization-share-input [data-optimization-traffic-roi]:focus-visible { outline: 2px solid rgba(171,112,0,.35); outline-offset: -2px; }
.optimization-traffic-unit { display: block; margin-top: 2px; color: #60748e; font-size: 9px; text-align: center; white-space: nowrap; }
.optimization-traffic-rate { color: #637b93; font-size: 10px; line-height: 1.35; text-align: center; }
.optimization-traffic-rate span { color: #0b8b68; font-weight: 900; }
.optimization-value-flow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(112px, .9fr) minmax(0, 1fr); gap: 6px; align-items: center; }
.optimization-value-card { display: grid; min-width: 0; min-height: 38px; padding: 5px 4px; align-content: center; justify-items: center; gap: 2px; border: 1px solid #cfd9e7; border-radius: 10px; box-shadow: 0 2px 7px rgba(18,45,79,.06); text-align: center; white-space: nowrap; }
.optimization-value-card span { font-size: 10px; font-weight: 800; }
.optimization-value-card strong { font-size: 13px; font-weight: 900; letter-spacing: -.01em; }
.optimization-value-card.current { color: #17283f; background: linear-gradient(180deg, #fff, #f6f8fb); }
.optimization-value-card.current strong { color: #0b1524; }
.optimization-value-card.editable { cursor:text; border-color:#89acd8; }
.optimization-current-input { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; gap:2px; }
.optimization-current-input input { box-sizing:border-box; width:calc(100% - 18px); max-width:76px; min-width:0; padding:1px 0; border:0; border-bottom:1px solid #a8bfdf; border-radius:0; background:transparent; color:inherit; font:inherit; text-align:center; }
.optimization-current-input input:focus { outline:2px solid #8bb6f1; outline-offset:1px; }
.optimization-current-input input::placeholder { font-size:11px; font-weight:500; color:#8193ac; }
.optimization-current-hint { display:block; margin-top:4px; color:#98701e; font-size:10px; white-space:normal; }
.optimization-value-card.optimized { border-color: #b7e1d2; color: #08735c; background: linear-gradient(135deg, #eaf8f1, #dff5ec); box-shadow: 0 3px 10px rgba(11,139,104,.12); }
.optimization-value-card.optimized strong { color: #07845f; }
.optimization-range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 7px;
  margin: 4px 0 2px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #073ea9 0%, #0f6ee8 43%, #04a58f 100%);
  box-shadow: inset 0 1px 1px rgba(1,26,70,.24), 0 2px 7px rgba(13,92,202,.18);
  accent-color: #1761dc;
  cursor: pointer;
  color: transparent;
  font-size: 0;
  text-shadow: none;
}
.optimization-range::-webkit-slider-thumb {
  width: 17px;
  height: 17px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #1761dc;
  box-shadow: 0 1px 6px rgba(23,97,220,.35);
  cursor: grab;
}
.optimization-range:active::-webkit-slider-thumb { cursor: grabbing; }
.optimization-range::-moz-range-track {
  height: 7px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #073ea9 0%, #0f6ee8 43%, #04a58f 100%);
}
.optimization-range::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #1761dc;
  box-shadow: 0 1px 6px rgba(23,97,220,.35);
  cursor: grab;
}
.optimization-number-control {
  display: block;
  min-width: 0;
}
.optimization-number:focus-visible,
.optimization-range:focus-visible { outline: 3px solid rgba(23,97,220,.28); outline-offset: 2px; }
.optimization-number {
  width: 100%;
  min-width: 62px;
  height: 32px;
  padding: 5px 8px;
  border: 1px solid #b9cbe1;
  border-radius: 8px 0 0 8px;
  color: #102a50;
  background: #fff;
  font: inherit;
  font-weight: 800;
  text-align: center;
  box-shadow: inset 0 1px 2px rgba(16,35,63,.04);
}
.optimization-percent-input { display: grid; grid-template-columns: minmax(0,1fr) 25px 24px; align-items: stretch; min-width: 112px; }
.optimization-percent-input > span { display: grid; height: 32px; place-items: center; border: 1px solid #b9cbe1; border-left: 0; border-radius: 0 8px 8px 0; color: #24456e; background: #eef4fc; font-size: 11px; font-weight: 900; }
.optimization-step-buttons { display: grid; grid-template-rows: 16px 16px; margin-left: 3px; }
.optimization-step-buttons button { display: grid; width: 21px; height: 16px; padding: 0; place-items: center; border: 0; color: #1761dc; background: transparent; font: inherit; font-size: 10px; line-height: 1; cursor: pointer; }
.optimization-step-buttons button:hover:not(:disabled) { color: #0845a6; background: #eaf2ff; border-radius: 4px; }
.optimization-step-buttons button:disabled { color: #a8bad2; cursor: default; }
.optimization-step-buttons button:focus-visible { outline: 2px solid #1761dc; outline-offset: -2px; border-radius: 4px; }
.optimization-recovery-base { display: flex; align-items: center; gap: 3px; flex-wrap: wrap; margin-top: 5px; color: #24456e; font-size: 10px; font-weight: 700; }
.optimization-recovery-base input { box-sizing: border-box; width: 92px; height: 25px; padding: 2px 6px; border: 1px solid #b9cbe1; border-radius: 5px; color: #102a50; background: #fff; font: inherit; text-align: right; }
.optimization-recovery-base input:focus-visible { outline: 2px solid rgba(23,97,220,.3); outline-offset: 1px; }
.optimization-impact { white-space: nowrap; }
.optimization-impact.positive { color: #0b8b68; }
.optimization-impact.negative { color: #c54235; }
.optimization-empty-result { display: block; color: #a3afbd; font-size: 16px; font-weight: 800; text-align: center; }
.optimization-rate-meter { position: relative; display: grid; width: 100%; min-width: 0; height: 32px; place-items: center; overflow: hidden; border: 1px solid #d8e4f1; border-radius: 7px; background: #f7faff; box-shadow: inset 0 1px 2px rgba(16,35,63,.04); }
.optimization-aux-nav { display: flex; align-items: center; margin-bottom: 12px; }
.optimization-aux-back { display: inline-flex; min-height: 38px; padding: 0 14px; align-items: center; gap: 7px; border: 1px solid #cbdcf0; border-radius: 9px; color: #185bd5; background: linear-gradient(180deg,#fff,#eef5ff); font: inherit; font-size: 13px; font-weight: 800; box-shadow: 0 5px 13px rgba(23,97,220,.08); cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.optimization-aux-back span { font-size: 17px; line-height: 1; }
.optimization-aux-back:hover { border-color: #7fa9ec; box-shadow: 0 8px 18px rgba(23,97,220,.14); transform: translateY(-1px); }
.optimization-aux-back:focus-visible { outline: 3px solid rgba(23,97,220,.22); outline-offset: 2px; }

/* 增值税优化工具：锁定财报原始税负，单独测算调整后税负 */
#view-tax.active { gap: 14px; }
.tax-comparison-panel,
.tax-config-sheet { padding: 0; overflow: hidden; }
.tax-tool-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid #dbe5f1; background: linear-gradient(135deg, #f4f8ff, #f0faf7); }
.tax-tool-heading > div { min-width: 0; }
.tax-tool-heading > div > span { color: #1761c9; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.tax-tool-heading h3 { margin: 4px 0 4px; color: #173a63; font-size: 19px; }
.tax-tool-heading p { margin: 0; color: #718399; font-size: 11px; line-height: 1.55; }
.tax-tool-heading > b { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #bcd1ec; border-radius: 999px; color: #24598f; background: #edf5ff; font-size: 11px; }
.tax-tool-heading.compact { padding-block: 14px; }
.tax-comparison-grid { display: grid; grid-template-columns: minmax(230px, 1fr) 42px minmax(230px, 1fr) minmax(190px, .72fr); gap: 12px; align-items: stretch; padding: 18px 20px 20px; }
.tax-comparison-card { display: grid; align-content: center; min-height: 138px; padding: 17px 19px; border: 1px solid #d7e2ef; border-radius: 13px; background: #fff; }
.tax-comparison-card.original { border-left: 4px solid #55799f; background: linear-gradient(140deg, #fff, #f4f7fa); }
.tax-comparison-card.adjusted { border-left: 4px solid #168e7f; background: linear-gradient(140deg, #fff, #eef9f6); }
.tax-comparison-card small { color: #72849a; font-size: 11px; font-weight: 800; }
.tax-comparison-card strong { margin-top: 5px; color: #173d6c; font-size: 31px; line-height: 1; }
.tax-comparison-card.adjusted strong { color: #0b806e; }
.tax-comparison-card > span { margin-top: 7px; color: #324f6d; font-size: 15px; font-weight: 850; }
.tax-comparison-card p { margin: 5px 0 0; color: #8a98a8; font-size: 10px; }
.tax-comparison-arrow { display: grid; place-items: center; color: #3f7fb2; font-size: 25px; font-weight: 900; }
.tax-comparison-delta { display: grid; align-content: center; gap: 5px; padding: 17px; border: 1px solid #dce4ed; border-radius: 13px; }
.tax-comparison-delta.saving { color: #0d775e; border-color: #bfe1d5; background: #edf9f5; }
.tax-comparison-delta.increase { color: #b0473f; border-color: #eccbc8; background: #fff3f1; }
.tax-comparison-delta small { font-size: 11px; font-weight: 800; }
.tax-comparison-delta strong { font-size: 20px; }
.tax-comparison-delta span { font-size: 11px; font-weight: 750; }
.tax-sheet-section { overflow-x: auto; border-bottom: 1px solid #d7e0ea; scrollbar-width: thin; }
.tax-sheet-section h4 { min-width: 900px; margin: 0; padding: 8px 12px; color: #fff; background: linear-gradient(90deg, #799ed8, #91ace0); font-size: 13px; font-weight: 800; }
.tax-sheet-section h4::before { content: "✦ "; color: #e9f1ff; }
.tax-sheet-table { min-width: 900px; background: #fff; }
.tax-sheet-row { display: grid; grid-template-columns: 42px minmax(170px, 1.12fr) minmax(145px, .88fr) 145px minmax(230px, 1.4fr); min-height: 42px; border-bottom: 1px solid #dce3eb; }
.tax-sheet-row:last-child { border-bottom: 0; }
.tax-sheet-row > * { display: flex; min-width: 0; align-items: center; margin: 0; padding: 7px 10px; border-right: 1px solid #dce3eb; font-size: 11px; font-style: normal; line-height: 1.4; }
.tax-sheet-row > *:last-child { border-right: 0; }
.tax-sheet-row > span:first-child { justify-content: center; color: #516c8a; font-weight: 850; }
.tax-sheet-row > strong { justify-content: center; color: #233f60; text-align: center; }
.tax-sheet-row > em { justify-content: center; color: #1f3959; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: center; }
.tax-sheet-row > p { color: #65788e; }
.tax-sheet-row.head { min-height: 34px; color: #203a5d; background: #eef3fa; }
.tax-sheet-row.head > * { justify-content: center; padding-block: 6px; font-size: 10px; }
.tax-sheet-row.total { background: #f3f7fc; }
.tax-sheet-row.total strong,
.tax-sheet-row.total em { color: #133d72; font-size: 13px; }
.tax-sheet-readonly { justify-content: center; color: #68809a; background: #f5f7fa; font-size: 10px !important; font-weight: 800; }
.tax-sheet-percent-control { display: grid; grid-template-columns: minmax(0, 1fr) 27px; width: 112px; min-height: 29px; margin: auto; overflow: hidden; border: 1px solid #9db8dc; border-radius: 6px; background: #fff; box-shadow: 0 2px 7px rgba(35, 91, 157, .08); }
.tax-sheet-percent-control input { width: 100%; min-width: 0; padding: 0 6px; border: 0; outline: 0; color: #1555a0; background: transparent; text-align: right; font: 850 11px/1 inherit; }
.tax-sheet-percent-control span { display: grid; place-items: center; color: #245d9b; background: #eaf2fd; font-size: 10px; font-weight: 900; }
.tax-sheet-result { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(180px, 1fr) minmax(180px, .8fr) minmax(140px, .8fr); align-items: center; min-height: 72px; padding: 12px 18px; color: #fff; background: linear-gradient(100deg, #173a73, #19518b); }
.tax-sheet-result span { color: #d9e7fb; font-size: 12px; text-align: center; }
.tax-sheet-result strong { font-size: 22px; text-align: center; }
.tax-split-panel { padding: 16px; }
.tax-split-panel > h3 { margin-bottom: 12px; }

@media (max-width: 980px) {
  .tax-comparison-grid { grid-template-columns: 1fr 34px 1fr; }
  .tax-comparison-delta { grid-column: 1 / -1; min-height: 82px; }
}
@media (max-width: 620px) {
  .tax-tool-heading { align-items: flex-start; flex-direction: column; }
  .tax-comparison-grid { grid-template-columns: 1fr; }
  .tax-comparison-arrow { transform: rotate(90deg); }
  .tax-comparison-delta { grid-column: auto; }
  .tax-sheet-result { grid-template-columns: 1fr 1fr; gap: 8px; }
}
.optimization-rate-meter i { position: absolute; inset: 0 auto 0 0; width: 0; border-right: 1px solid rgba(29,116,174,.32); background: linear-gradient(90deg, rgba(80,103,223,.22), rgba(36,184,175,.48)); }
.optimization-rate-meter span { position: relative; z-index: 1; color: #183b67; font-size: 13px; font-weight: 800; white-space: nowrap; text-shadow: 0 1px 0 rgba(255,255,255,.8); }
.optimization-rate-meter.negative i { border-right-color: rgba(201,67,65,.35); background: linear-gradient(90deg, rgba(240,144,91,.25), rgba(220,76,91,.48)); }
.optimization-rate-meter.negative span { color: #a9303f; }
.optimization-contribution { display: grid; grid-template-columns: minmax(100px, 1fr) 58px; gap: 10px; align-items: center; min-width: 180px; }
.optimization-contribution > span { color: #596b83; font-size: 13px; font-weight: 700; text-align: right; }
.optimization-bar-track { height: 10px; overflow: hidden; border-radius: 999px; background: #e8eef7; }
.optimization-bar-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1761dc, #18a4b8, #18a66e); box-shadow: 0 2px 7px rgba(23, 97, 220, .22); }
.optimization-contribution.negative .optimization-bar-track i { background: linear-gradient(90deg, #ee8b4e, #d54a3e); }
.ogsm-open-button.placeholder,
.ogsm-open-button.placeholder:hover { color: #77879d; background: #edf2f7; box-shadow: inset 0 0 0 1px #d4deea; cursor: not-allowed; transform: none; }
.ogsm-open-button.placeholder small { color: #8b98aa; }
.ogsm-log-panel { overflow: hidden; border-top: 4px solid #1761dc; }
.ogsm-log-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ogsm-log-head .eyebrow { margin: 0 0 3px; color: #1761dc; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.ogsm-log-head h3 { margin: 0 0 4px; }
.ogsm-log-head .metric-note { margin: 0; }
.ogsm-log-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 0; }
.ogsm-log-summary > div,
.ogsm-log-summary > button { display: grid; gap: 5px; padding: 13px 15px; border: 1px solid #dce6f3; border-radius: 9px; background: linear-gradient(145deg, #f4f8ff, #fff); text-align: left; }
.ogsm-log-summary > button { width: 100%; color: inherit; font: inherit; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ogsm-log-summary > button:hover { border-color: #7fa9ec; box-shadow: 0 8px 20px rgba(23,97,220,.12); transform: translateY(-1px); }
.ogsm-log-summary > button:focus-visible { outline: 3px solid rgba(23,97,220,.2); outline-offset: 2px; }
.ogsm-log-summary > button:disabled { cursor: default; opacity: .65; transform: none; box-shadow: none; }
.ogsm-log-summary span { color: #6a7890; font-size: 12px; }
.ogsm-log-summary span small { margin-left: 5px; color: #1761dc; font-size: 11px; font-weight: 800; }
.ogsm-log-summary strong { color: #153d75; font-size: 23px; }
.ogsm-log-table { min-width: 850px; }
.ogsm-log-table td { vertical-align: middle; }
.ogsm-click-user-table { min-width: 980px; }
.ogsm-click-user-table th:nth-child(1) { min-width: 145px; }
.ogsm-click-user-table th:nth-child(6) { min-width: 230px; }
.ogsm-user-dimensions { max-width: 360px; color: #546983; line-height: 1.55; }
.ogsm-log-admin { display: inline-flex; margin-left: 5px; padding: 2px 6px; border-radius: 99px; color: #126e5b; background: #dff6ee; font-size: 10px; font-weight: 800; }
.ogsm-log-status { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 99px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ogsm-log-status.success { color: #0c7657; background: #e1f6ee; }
.ogsm-log-status.warning { color: #a05b00; background: #fff0d8; }
.ogsm-log-empty { display: grid; min-height: 110px; place-items: center; padding: 20px; border: 1px dashed #ccd9e9; border-radius: 10px; color: #718198; background: #f8fbff; text-align: center; }
.ogsm-log-empty.error { color: #aa3e35; background: #fff7f5; }
.ogsm-log-modal-backdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(11,29,55,.55); backdrop-filter: blur(4px); }
.ogsm-log-modal { width: min(1120px, 100%); max-height: min(82vh, 760px); overflow: auto; padding: 22px; border: 1px solid rgba(255,255,255,.58); border-radius: 14px; background: #fff; box-shadow: 0 30px 80px rgba(5,22,47,.28); }
.ogsm-log-modal-head { position: sticky; z-index: 2; top: -22px; display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; margin: -22px -22px 18px; padding: 20px 22px 16px; border-bottom: 1px solid #e3eaf4; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); }
.ogsm-log-modal-head .eyebrow { margin: 0 0 3px; color: #1761dc; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.ogsm-log-modal-head h3 { margin: 0 0 4px; }
.ogsm-log-modal-head .metric-note { margin: 0; }
.ogsm-log-modal-close { display: grid; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid #d9e3ef; border-radius: 9px; color: #425874; background: #f6f9fd; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.ogsm-log-modal-close:hover { color: #fff; border-color: #1761dc; background: #1761dc; }
.business-tag-dialog-backdrop { position: fixed; z-index: 5000; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(8,25,48,.62); backdrop-filter: blur(6px); }
.business-tag-dialog { width: min(760px, 100%); max-height: calc(100vh - 40px); overflow: hidden; border: 1px solid rgba(255,255,255,.64); border-radius: 16px; background: #fff; box-shadow: 0 32px 90px rgba(4,21,45,.32); }
.business-tag-dialog-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 20px 24px 16px; border-bottom: 1px solid #dce6f2; background: linear-gradient(135deg, #edf4ff, #f7fbff 55%, #eaf9f5); }
.business-tag-dialog-head h3 { margin: 0 0 4px; color: #15385f; font-size: 21px; }
.business-tag-dialog-head span { display: block; max-width: 610px; overflow: hidden; color: #71849a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.business-tag-dialog-head > button { display: grid; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid #ccd9e9; border-radius: 9px; color: #526983; background: rgba(255,255,255,.82); font: inherit; font-size: 24px; cursor: pointer; }
.business-tag-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; max-height: calc(100vh - 130px); overflow-y: auto; padding: 20px 24px 22px; }
.business-tag-form label { display: grid; gap: 7px; color: #314b6d; font-size: 12px; font-weight: 800; }
.business-tag-form label b { color: #d84d3f; }
.business-tag-form input,
.business-tag-form select { width: 100%; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid #cddbeb; border-radius: 9px; outline: 0; color: #172d4b; background: #fff; font: inherit; font-size: 13px; box-shadow: inset 0 1px 2px rgba(17,46,81,.04); }
.business-tag-form input:focus,
.business-tag-form select:focus { border-color: #1761dc; box-shadow: 0 0 0 3px rgba(23,97,220,.12); }
.business-tag-region-field { display: grid; grid-column: 1 / -1; gap: 7px; color: #314b6d; font-size: 12px; font-weight: 800; }
.business-tag-region-field b { color: #d84d3f; }
.business-tag-region-selects { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.business-tag-region-selects select:disabled { color: #8a9aaf; background: #f4f7fa; cursor: not-allowed; }
.business-tag-platforms { position: relative; display: grid; grid-column: auto; align-self: start; gap: 7px; }
.business-tag-platforms-head { display: flex; align-items: center; justify-content: space-between; color: #314b6d; font-size: 12px; font-weight: 800; }
.business-tag-platforms-head b { color: #d84d3f; }
.business-tag-platforms-head small { color: #8292a8; font-size: 10px; font-weight: 600; }
.business-platform-multiselect { position: relative; min-width: 0; }
.business-platform-toggle { display: flex; width: 100%; height: 42px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; border: 1px solid #cddbeb; border-radius: 9px; color: #8a9aaf; background: #fff; font: inherit; font-size: 13px; text-align: left; cursor: pointer; box-shadow: inset 0 1px 2px rgba(17,46,81,.04); }
.business-platform-toggle.has-value { color: #172d4b; font-weight: 700; }
.business-platform-toggle span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.business-platform-toggle i { flex: 0 0 auto; color: #536b89; font-style: normal; font-size: 17px; transition: transform .16s ease; }
.business-platform-multiselect.is-open .business-platform-toggle { border-color: #1761dc; box-shadow: 0 0 0 3px rgba(23,97,220,.12); }
.business-platform-multiselect.is-open .business-platform-toggle i { transform: rotate(180deg); }
.business-platform-menu { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; left: 0; overflow: hidden; border: 1px solid #ccd9e9; border-radius: 10px; background: #fff; box-shadow: 0 16px 36px rgba(17,46,81,.2); }
.business-platform-menu[hidden] { display: none; }
.business-platform-options { max-height: 286px; overflow-y: auto; padding: 5px; }
.business-tag-form label.business-platform-option { display: flex; min-height: 34px; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 7px; color: #243e60; font-size: 12px; font-weight: 650; cursor: pointer; }
.business-tag-form label.business-platform-option:hover { background: #f0f5ff; }
.business-tag-form label.business-platform-option:has(input:checked) { color: #155acb; background: #eaf2ff; }
.business-tag-form .business-platform-option input { flex: 0 0 16px; width: 16px; height: 16px; padding: 0; accent-color: #1761dc; box-shadow: none; }
.business-platform-option span { flex: 1; }
.business-platform-option i { visibility: hidden; color: #1761dc; font-style: normal; font-weight: 900; }
.business-platform-option input:checked ~ i { visibility: visible; }
.business-tag-form label.business-platform-custom { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 12px 11px; border-top: 1px solid #e2eaf3; color: #546a85; font-size: 11px; font-weight: 700; }
.business-tag-form .business-platform-custom input { height: 34px; font-size: 12px; }
.business-tag-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 9px; padding-top: 2px; }
.ogsm-open-button,
.ogsm-download-button,
.ogsm-save-button,
.ogsm-back-button { border: 0; border-radius: 8px; font: inherit; font-weight: 800; cursor: pointer; }
.ogsm-open-button { min-width: 124px; padding: 9px 12px; color: #fff; background: #10233f; box-shadow: 0 6px 16px rgba(16,35,63,.14); }
.ogsm-open-button small { display: block; margin-top: 2px; color: #90c7ff; font-size: 10px; font-weight: 600; }
.ogsm-open-button:hover { background: #1761dc; transform: translateY(-1px); }
.ogsm-open-button.owned { background: linear-gradient(135deg, #0d735d, #159879); box-shadow: 0 6px 16px rgba(13,115,93,.2); }
.ogsm-open-button.owned small { color: #d7fff3; }
.ogsm-open-button.owned:hover { background: linear-gradient(135deg, #0a614e, #138466); }
.my-ogsm-history-panel { overflow: hidden; border-top: 4px solid #129477; }
.my-ogsm-history-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.my-ogsm-history-head .eyebrow { margin: 0 0 3px; color: #138269; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.my-ogsm-history-head h3 { margin: 0 0 4px; }
.my-ogsm-history-head .metric-note { margin: 0; }
.my-ogsm-count { padding: 7px 11px; border-radius: 99px; color: #0b725b; background: #e0f7ef; font-size: 12px; font-weight: 800; white-space: nowrap; }
.my-ogsm-table { min-width: 760px; }
.my-ogsm-table td { vertical-align: middle; }
.my-ogsm-owned { display: inline-flex; padding: 5px 9px; border-radius: 99px; color: #0b725b; background: #e0f7ef; font-size: 12px; font-weight: 800; white-space: nowrap; }
.my-ogsm-open { padding: 8px 13px; border: 0; border-radius: 7px; color: #fff; background: #137e68; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.my-ogsm-open:hover { background: #0d6654; }
.my-ogsm-empty { display: grid; min-height: 100px; place-items: center; padding: 20px; border: 1px dashed #c8dfd8; border-radius: 10px; color: #6c817b; background: #f7fcfa; text-align: center; }
.my-ogsm-empty.error { color: #aa3e35; background: #fff7f5; }
.ogsm-toolbar { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ogsm-toolbar-actions { display: flex; gap: 10px; }
.ogsm-back-button { padding: 10px 15px; color: #243a57; background: #fff; box-shadow: inset 0 0 0 1px #d8e3f2; }
.ogsm-save-button { padding: 10px 17px; color: #fff; background: #12816a; box-shadow: 0 8px 20px rgba(18,129,106,.18); }
.ogsm-save-button:hover { background: #0d6d59; }
.ogsm-download-button { padding: 10px 17px; color: #fff; background: #1761dc; box-shadow: 0 8px 20px rgba(23,97,220,.2); }
.ogsm-hero { position: relative; display: flex; gap: 22px; align-items: center; padding: 29px 32px; overflow: hidden; border-radius: 14px; color: #fff; background: linear-gradient(125deg, #10233f 0%, #173f78 62%, #0a7e91 100%); box-shadow: 0 16px 38px rgba(13,40,75,.16); }
.ogsm-hero::after { content: ""; position: absolute; right: -70px; top: -115px; width: 260px; height: 260px; border: 44px solid rgba(255,255,255,.06); border-radius: 50%; }
.ogsm-hero > div { position: relative; z-index: 1; }
.ogsm-badge { display: grid; flex: 0 0 72px; place-items: center; width: 72px; height: 72px; border: 1px solid rgba(255,255,255,.45); border-radius: 18px; color: #10233f; background: #f4c44e; font-size: 42px; font-weight: 900; box-shadow: 0 12px 25px rgba(0,0,0,.18); }
.ogsm-hero .eyebrow { margin: 0 0 4px; color: #9ed9e2; }
.ogsm-hero h2 { margin: 0 0 8px; color: #fff; font-size: 30px; }
.ogsm-hero p:last-child { max-width: 850px; margin: 0; color: rgba(255,255,255,.73); line-height: 1.7; }
.ogsm-core-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; margin: 16px 0 26px; }
.ogsm-core-grid > .ogsm-field { grid-column: span 2; }
.ogsm-core-grid > .ogsm-field:nth-child(4),
.ogsm-core-grid > .ogsm-field:nth-child(5) { grid-column: span 3; }
.ogsm-field { display: grid; gap: 8px; min-width: 0; padding: 16px; border: 1px solid #dfe7f2; border-radius: 12px; background: #fff; }
.ogsm-field > span { color: #243a57; font-size: 12px; font-weight: 800; letter-spacing: .2px; }
.ogsm-field textarea,
.ogsm-field input,
.ogsm-library-select,
.ogsm-actions-table textarea,
.ogsm-actions-table input { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #d8e3f2; border-radius: 7px; outline: 0; color: #172842; background: #f8fbff; font: inherit; line-height: 1.55; resize: vertical; }
.ogsm-library-select { padding-right: 32px; color: #315170; background: #eef6ff; cursor: pointer; resize: none; }
.ogsm-library-select:focus { border-color: #1761dc; background: #fff; box-shadow: 0 0 0 3px rgba(23,97,220,.09); }
.ogsm-field textarea:focus,
.ogsm-field input:focus,
.ogsm-actions-table textarea:focus,
.ogsm-actions-table input:focus { border-color: #1761dc; background: #fff; box-shadow: 0 0 0 3px rgba(23,97,220,.09); }
.ogsm-section-heading { display: flex; gap: 20px; align-items: end; justify-content: space-between; margin: 0 0 12px; }
.ogsm-section-heading .eyebrow { margin: 0 0 2px; color: #1761dc; }
.ogsm-section-heading h3 { margin: 0; }
.ogsm-section-heading > span { color: #728198; font-size: 12px; }
.ogsm-strategy-list { display: grid; gap: 16px; }
.ogsm-strategy-card { overflow: hidden; border: 1px solid #d8e3f2; border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(16,35,63,.05); }
.ogsm-strategy-card > header { display: flex; gap: 14px; align-items: center; padding: 17px 20px; color: #fff; background: linear-gradient(90deg, #173f78, #1c6483); }
.ogsm-strategy-number { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: #173f78; background: #f4c44e; font-weight: 900; }
.ogsm-strategy-card header small { color: #a9dce2; }
.ogsm-strategy-card header h4 { margin: 2px 0 0; color: #fff; font-size: 18px; }
.ogsm-strategy-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; padding: 16px; background: #f6f9fd; }
.ogsm-actions-wrap { padding: 0 16px 17px; }
.ogsm-actions-title { padding: 15px 2px 10px; color: #243a57; font-size: 12px; font-weight: 800; }
.ogsm-actions-title-row { display: flex; gap: 14px; align-items: center; justify-content: space-between; }
.ogsm-action-library-tools { display: flex; gap: 8px; align-items: center; padding-top: 8px; }
.ogsm-action-library-tools .ogsm-library-select { width: min(390px, 44vw); }
.ogsm-actions-table { min-width: 1220px; }
.ogsm-actions-table th { color: #6b4f15; background: #fff5d8; }
.ogsm-actions-table th:nth-child(1) { width: 35%; }
.ogsm-actions-table th:nth-child(5) { width: 19%; }
.ogsm-actions-table th:last-child { width: 62px; }
.ogsm-actions-table td { vertical-align: top; }
.ogsm-actions-table textarea { min-height: 58px; }
.ogsm-actions-table td .ogsm-library-select { margin-top: 7px; font-size: 12px; }
.ogsm-actions-table input::placeholder { color: #9aa6b5; }
.ogsm-remove-action { padding: 8px 10px; border: 1px solid #f0c6c2; border-radius: 7px; color: #ad3f35; background: #fff7f6; font: inherit; font-size: 12px; cursor: pointer; }
.ogsm-remove-action:hover { color: #fff; background: #c5473d; }
.ogsm-download-button:disabled { color: #8090a5; background: #dfe6ef; box-shadow: none; cursor: not-allowed; }
.ogsm-toolbar-status { flex: 1; text-align: right; }
.ogsm-toolbar-status span { display: inline-flex; padding: 6px 10px; border-radius: 99px; color: #0b725b; background: #e0f7ef; font-size: 12px; font-weight: 800; }
.ogsm-toolbar-status span.dirty { color: #9b5a05; background: #fff0d7; }
.ogsm-library-notice { margin: 0 0 10px; padding: 9px 12px; border: 1px solid #d4dfec; border-radius: 9px; color: #5d6f86; background: #f7faff; font-size: 12px; line-height: 1.5; }
.ogsm-library-notice.empty { border-style: dashed; }
.ogsm-sheet { overflow: hidden; border: 1px solid #afbdd0; border-radius: 10px; background: #fff; box-shadow: 0 14px 34px rgba(16,35,63,.09); }
.ogsm-sheet-title { color: #fff; background: #14345b; }
.ogsm-sheet-title h2 { margin: 0; padding: 13px 20px 8px; color: #fff; font-size: 25px; text-align: center; }
.ogsm-sheet-title > div { display: flex; justify-content: space-between; padding: 8px 14px; color: #dbe8f7; background: #0b2442; font-size: 12px; }
.ogsm-sheet-scroll { overflow: auto; }
.ogsm-sheet-core,
.ogsm-sheet-detail { width: calc(100% + 60px); min-width: 1560px; border-collapse: collapse; table-layout: fixed; }
.ogsm-sheet-core th,
.ogsm-sheet-detail th { padding: 9px 8px; border: 1px solid #294766; color: #10233f; background: #f2b84b; font-size: 12px; text-align: left; }
.ogsm-sheet-detail th { text-align: center; }
.ogsm-sheet-core th:nth-child(1) { width: 14%; }
.ogsm-sheet-core th:nth-child(2) { width: 18%; }
.ogsm-sheet-core th:nth-child(3) { width: 20%; }
.ogsm-sheet-core th:nth-child(4) { width: 24%; }
.ogsm-sheet-core th:nth-child(5) { width: 24%; }
.ogsm-control-gutter { box-sizing: border-box; width: 60px !important; min-width: 60px; padding: 0 !important; border: 0 !important; color: transparent !important; background: transparent !important; }
.ogsm-sheet-core .ogsm-control-gutter { width: 60px !important; min-width: 60px; }
.ogsm-sheet-core td,
.ogsm-sheet-detail td { padding: 0; border: 1px solid #b9c7d8; vertical-align: top; background: #f7fafe; }
.ogsm-sheet textarea,
.ogsm-sheet input,
.ogsm-sheet select { box-sizing: border-box; width: 100%; min-width: 0; border: 0; outline: 0; color: #172842; background: #fff; font: inherit; font-size: 12px; line-height: 1.55; }
.ogsm-sheet textarea { display: block; min-height: 100%; padding: 10px; resize: vertical; }
.ogsm-sheet input,
.ogsm-sheet select { min-height: 35px; padding: 7px 8px; }
.ogsm-sheet textarea:focus,
.ogsm-sheet input:focus,
.ogsm-sheet select:focus { position: relative; z-index: 1; box-shadow: inset 0 0 0 2px #1761dc; }
.ogsm-sheet-core tbody > tr > td:nth-child(-n+3) textarea { min-height: var(--ogsm-core-body-height, 208px); background: #f7fafe; }
.ogsm-sheet-linked-cell { background: #edf4fc !important; }
.ogsm-sheet-linked-row { box-sizing: border-box; display: grid; grid-template-columns: 25px minmax(0,1fr); height: 52px; min-height: 52px; overflow: hidden; border-bottom: 1px solid #c8d4e3; }
.ogsm-sheet-linked-row:last-child { border-bottom: 0; }
.ogsm-sheet-linked-row > span { display: grid; height: 100%; place-items: center; color: #173f78; background: #e3edf9; font-weight: 900; }
.ogsm-sheet-linked-row > div { display: block; height: 100%; min-width: 0; border-inline: 1px solid #d0dbea; background: #fff; }
.ogsm-sheet-linked-row textarea { box-sizing: border-box; height: 52px; min-height: 52px; padding: 6px 8px; overflow-y: auto; background: #fff; resize: none; }
.ogsm-sheet-linked-row.measurement { display: block; }
.ogsm-sheet-linked-row.measurement textarea { height: 52px; min-height: 52px; padding: 14px 10px; background: #fffdf8; line-height: 22px; }
.ogsm-editable-choice { position: relative; width: 100%; height: 52px; min-width: 0; min-height: 52px; overflow: hidden; background: #fff; }
.ogsm-editable-choice input,
.ogsm-editable-choice textarea { box-sizing: border-box; width: 100%; height: 52px; min-height: 52px; padding: 7px 10px; overflow-y: auto; border: 0; color: #174f91; background: #eef6ff; background-image: none !important; appearance: textfield; font-weight: 800; line-height: 19px; text-align: left; white-space: pre-wrap; overflow-wrap: anywhere; resize: none; cursor: text; }
.ogsm-editable-choice input::-webkit-calendar-picker-indicator,
.ogsm-editable-choice input::-webkit-list-button { display: none !important; opacity: 0 !important; }
.ogsm-sheet-suggestion { color: #174f91 !important; background: #eef6ff !important; font-weight: 800 !important; }
.ogsm-choice-trigger { position: absolute; z-index: 2; top: 50%; right: 7px; display: inline-grid; width: 27px; height: 27px; min-width: 27px; min-height: 27px; padding: 0; place-items: center; transform: translateY(-50%); border: 1px solid #a9c7ef; border-radius: 7px; color: #1761dc; background: #fff; font-size: 12px; font-weight: 900; cursor: pointer; }
.ogsm-choice-trigger:hover { color: #fff; background: #1761dc; }
.ogsm-strategy-picker input,
.ogsm-strategy-picker textarea { box-sizing: border-box; padding-right: 28px; cursor: text; }
.ogsm-strategy-picker .ogsm-choice-trigger { top: auto; right: 2px; bottom: 2px; width: 20px; min-width: 20px; height: 20px; min-height: 20px; transform: none; border-radius: 5px; font-size: 10px; line-height: 1; text-shadow: none; box-shadow: none; }
.ogsm-inline-remove { position: absolute; z-index: 3; top: 1px; right: 2px; display: inline-grid; width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; place-items: center; border: 0; border-radius: 0; color: #8c96a4; background: transparent; font: inherit; font-size: 16px; font-weight: 700; line-height: 1; cursor: pointer; }
.ogsm-inline-remove:hover { color: #4f5967; background: transparent; }
.ogsm-action-editor { position: relative; width: 100%; height: 44px; min-height: 44px; }
.ogsm-action-editor textarea { padding-right: 24px !important; }
.ogsm-strategy-library-backdrop { position: fixed; z-index: 14000; inset: 0; display: grid; padding: 24px; place-items: center; background: rgba(9, 29, 56, .52); backdrop-filter: blur(3px); }
.ogsm-strategy-library-dialog { display: grid; width: min(760px, calc(100vw - 40px)); max-height: min(720px, calc(100vh - 48px)); overflow: hidden; grid-template-rows: auto minmax(0,1fr) auto; border: 1px solid #c8d8ec; border-radius: 16px; background: #f8fbff; box-shadow: 0 24px 70px rgba(8, 35, 70, .28); }
.ogsm-strategy-library-dialog > header { display: flex; gap: 18px; padding: 16px 18px; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(135deg, #123c78, #1678ca 58%, #17a5a1); }
.ogsm-strategy-library-dialog > header > div { display: grid; gap: 4px; }
.ogsm-strategy-library-dialog > header strong { font-size: 19px; }
.ogsm-strategy-library-dialog > header span { color: #e2f0ff; font-size: 12px; }
.ogsm-strategy-library-dialog > header button { display: grid; width: 32px; height: 32px; min-width: 32px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); font-size: 22px; cursor: pointer; }
.ogsm-strategy-library-options { display: grid; gap: 9px; padding: 14px; overflow-y: auto; align-content: start; }
.ogsm-strategy-library-option { display: grid; gap: 5px; width: 100%; padding: 12px 14px; border: 1px solid #d4e0ef; border-radius: 10px; color: #17365f; background: #fff; text-align: left; cursor: pointer; }
.ogsm-strategy-library-option strong { font-size: 14px; line-height: 1.5; }
.ogsm-strategy-library-option span { color: #667b96; font-size: 12px; line-height: 1.5; }
.ogsm-strategy-library-option:hover { border-color: #4f91e6; background: #eef6ff; box-shadow: 0 5px 14px rgba(23,97,220,.1); }
.ogsm-strategy-library-option.current { border-color: #1e74da; background: linear-gradient(90deg, #eaf3ff, #ecfaf7); }
.ogsm-strategy-library-empty { padding: 32px 18px; color: #73839a; text-align: center; }
.ogsm-strategy-library-dialog > footer { display: flex; padding: 11px 14px; justify-content: flex-end; border-top: 1px solid #dbe5f1; background: #fff; }
.ogsm-strategy-controls-gutter { vertical-align: top !important; }
.ogsm-strategy-control-row { box-sizing: border-box; display: flex; gap: 4px; height: 52px; min-height: 52px; padding: 12px 4px; align-items: center; justify-content: center; border-bottom: 1px solid transparent; }
.ogsm-sheet-detail-title { box-sizing: border-box; display: flex; width: calc(100% + 60px); min-width: 1560px; align-items: center; justify-content: space-between; padding: 8px 12px; color: #fff; background: #14345b; }
.ogsm-sheet-detail-title > div { display: flex; gap: 12px; align-items: center; }
.ogsm-sheet-detail-title strong { font-size: 15px; }
.ogsm-sheet-detail-title span { color: #d6e4f4; font-size: 12px; }
.ogsm-sheet-detail th:nth-child(1) { width: 4%; }
.ogsm-sheet-detail th:nth-child(2) { width: 11%; }
.ogsm-sheet-detail th:nth-child(3) { width: 13%; }
.ogsm-sheet-detail th:nth-child(4) { width: 15%; }
.ogsm-sheet-detail th:nth-child(5) { width: 16%; }
.ogsm-sheet-detail th:nth-child(6) { width: 16%; }
.ogsm-sheet-detail th:nth-child(7),
.ogsm-sheet-detail th:nth-child(8) { width: 6%; }
.ogsm-sheet-detail th:nth-child(9) { width: 7%; }
.ogsm-sheet-detail th:nth-child(10) { width: 10%; }
.ogsm-sheet-detail th:nth-child(11) { width: 60px; }
.ogsm-sheet-detail tbody tr { height: 64px; }
.ogsm-sheet-detail td { vertical-align: middle; }
.ogsm-sheet-detail tr:nth-child(even) td { background: #fbfdff; }
.ogsm-sheet-detail tr.ogsm-strategy-row-start td { border-top: 2px solid #173f78; }
.ogsm-sheet-detail tr.ogsm-secondary-row-start td { border-top: 1px solid #89a5c7; }
.ogsm-sheet-detail textarea { min-height: 52px; padding: 7px 8px; background: transparent; }
.ogsm-sheet-detail input { min-height: 30px; padding: 5px 6px; background: transparent; text-align: center; }
.ogsm-sheet-detail .ogsm-fill-cell { position: relative; height: 64px; min-height: 64px; padding: 0; vertical-align: top; }
.ogsm-sheet-detail .ogsm-fill-cell > textarea,
.ogsm-sheet-detail .ogsm-fill-cell > input,
.ogsm-sheet-detail .ogsm-fill-cell > .ogsm-editable-choice,
.ogsm-sheet-detail .ogsm-fill-cell > .ogsm-action-editor { position: absolute; inset: 0; box-sizing: border-box; width: 100%; height: 100%; min-height: 100%; max-height: none; margin: 0; }
.ogsm-sheet-detail .ogsm-fill-cell > textarea { padding: 10px; overflow-y: auto; resize: none; }
.ogsm-sheet-detail .ogsm-fill-cell > input { padding: 8px; }
.ogsm-sheet-detail .ogsm-fill-cell > .ogsm-editable-choice > input,
.ogsm-sheet-detail .ogsm-fill-cell > .ogsm-editable-choice > textarea,
.ogsm-sheet-detail .ogsm-fill-cell > .ogsm-action-editor > textarea { box-sizing: border-box; width: 100%; height: 100%; min-height: 100%; max-height: none; margin: 0; overflow-y: auto; resize: none; }
.ogsm-sheet-detail .ogsm-measurement-cell textarea,
.ogsm-sheet-detail .ogsm-action-cell textarea { padding: 10px 28px 10px 10px; background: transparent; line-height: 20px; text-align: left; }
.ogsm-sheet-detail .ogsm-primary-og-cell textarea,
.ogsm-sheet-detail .ogsm-measurement-cell textarea,
.ogsm-sheet-detail .ogsm-action-cell textarea { overflow-y: hidden; }
.ogsm-sheet-detail .ogsm-incentive-cell .ogsm-incentive-compact,
.ogsm-sheet-detail .ogsm-incentive-cell .ogsm-incentive-compact input { height: 100%; min-height: 100%; }
.ogsm-sheet-detail input::placeholder,
.ogsm-sheet-detail textarea::placeholder { color: #8b94a3; opacity: 1; font-weight: 500; }
.ogsm-incentive-compact { min-height: 52px; background: #fff8e8; }
.ogsm-incentive-compact input { min-height: 52px; padding-right: 10px; color: #654b19; background: #fff8e8; font-weight: 600; text-align: left; }
.ogsm-sheet-index { color: #173f78; font-weight: 900; text-align: center; }
.ogsm-sheet-detail th.ogsm-control-gutter { border-right: 1px solid #294766 !important; }
.ogsm-row-actions { width: 60px; padding: 0 2px !important; border: 0 !important; border-right: 1px solid #b9c7d8 !important; border-bottom: 1px solid #b9c7d8 !important; background: transparent !important; text-align: center; }
.ogsm-row-action-buttons { display: flex; gap: 2px; align-items: center; justify-content: center; flex-wrap: nowrap; }
.ogsm-row-action-buttons button { display: inline-flex; width: 20px; min-width: 20px; height: 20px; min-height: 20px; margin: 0; padding: 0; align-items: center; justify-content: center; border: 1px solid #a9c7ef; border-radius: 5px; color: #1558b7; background: #edf5ff; font: inherit; font-size: 14px; font-weight: 800; line-height: 1; white-space: nowrap; cursor: pointer; }
.ogsm-row-action-buttons button[data-ogsm-remove-secondary] { border-color: #f0c6c2; color: #ad3f35; background: #fff7f6; }
.ogsm-row-action-buttons button:hover { color: #fff; background: #1761dc; }
.ogsm-row-action-buttons button[data-ogsm-remove-secondary]:hover { background: #c5473d; }
.ogsm-row-action-buttons .ogsm-secondary-control { border-radius: 6px; border-color: #9ab4df; color: #164b91; background: #edf3ff; box-shadow: inset 0 -2px 0 rgba(22,75,145,.08); }
.ogsm-row-action-buttons .ogsm-secondary-control.remove { border-color: #e7b3ae; color: #a63d35; background: #fff4f2; }
.ogsm-row-action-buttons .ogsm-action-control { border-radius: 50%; border-color: #8fd1c8; color: #087d70; background: #ebfaf7; box-shadow: inset 0 -2px 0 rgba(8,125,112,.08); }
.ogsm-row-action-buttons .ogsm-action-control.remove { border-color: #f0c58c; color: #a65a05; background: #fff8e8; }
.ogsm-row-action-buttons .ogsm-secondary-control.add:hover { border-color: #164b91; background: #164b91; }
.ogsm-row-action-buttons .ogsm-secondary-control.remove:hover { border-color: #bd453b; background: #bd453b; }
.ogsm-row-action-buttons .ogsm-action-control.add:hover { border-color: #078f80; background: #078f80; }
.ogsm-row-action-buttons .ogsm-action-control.remove:hover { border-color: #c87813; background: #c87813; }
.ogsm-add-strategy,
.ogsm-remove-strategy,
.ogsm-add-action,
.ogsm-row-actions .ogsm-remove-action { display: inline-flex; width: 24px; min-width: 24px; height: 24px; min-height: 24px; margin: 0; padding: 0; align-items: center; justify-content: center; border-radius: 6px; font: inherit; font-size: 17px; font-weight: 800; line-height: 1; white-space: nowrap; cursor: pointer; }
.ogsm-add-strategy,
.ogsm-add-action { border: 1px solid #a9c7ef; color: #1558b7; background: #edf5ff; }
.ogsm-remove-strategy,
.ogsm-row-actions .ogsm-remove-action { border: 1px solid #f0c6c2; color: #ad3f35; background: #fff7f6; }
.ogsm-add-strategy:hover,
.ogsm-add-action:hover { color: #fff; background: #1761dc; }
.ogsm-remove-strategy:hover,
.ogsm-row-actions .ogsm-remove-action:hover { color: #fff; background: #c5473d; }
.ogsm-sheet-footer { box-sizing: border-box; min-width: 1500px; padding: 8px 14px; color: #e3edf9; background: #0b2442; font-size: 12px; text-align: center; }

@media (max-width: 900px) {
  .cb-login-page { grid-template-columns: 1fr; }
  .cb-brand-pane { min-height: auto; padding: 26px; }
  .cb-brand-content { margin: 42px 0 20px; }
  .cb-brand-content h1 { font-size: 38px; }
  .cb-brand-content ul, .cb-brand-foot { display: none; }
  .cb-form-pane { padding: 38px 20px 54px; }
  .user-manager-head { align-items: stretch; flex-direction: column; }
  .user-manager-controls { align-items: stretch; flex-direction: column; }
  .user-usage-sort { grid-template-columns: auto 1fr; width: 100%; }
  .user-search-box { grid-template-columns: 34px 1fr; width: 100%; }
  .user-filter-row { align-items: stretch; flex-direction: column; }
  .user-date-filters, .user-batch-actions { flex-wrap: wrap; }
  .user-batch-actions { justify-content: space-between; }
  .user-usage-detail-head { align-items: stretch; flex-direction: column; }
  .ogsm-log-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ogsm-core-grid, .ogsm-strategy-grid { grid-template-columns: 1fr; }
  .ogsm-core-grid > .ogsm-field,
  .ogsm-core-grid > .ogsm-field:nth-child(4),
  .ogsm-core-grid > .ogsm-field:nth-child(5) { grid-column: auto; }
}
@media (max-width: 560px) {
  .phone-overlay { padding: 12px; }
  .phone-panel { padding: 8px; }
  .cb-brand-pane { padding: 22px 20px; }
  .cb-brand-content { display: grid; grid-template-columns: 62px 1fr; gap: 0 16px; align-items: center; margin: 30px 0 5px; }
  .login-wall-logo { grid-row: 1 / 4; width: 62px; height: 62px; margin: 0; border-radius: 16px; }
  .cb-brand-eyebrow { display: none; }
  .cb-brand-content h1 { margin: 0 0 4px; font-size: 28px; letter-spacing: -1px; }
  .cb-brand-content > p { font-size: 13px; line-height: 1.6; }
  .cb-form-pane { padding: 22px 14px 40px; }
  .cb-login-form { padding: 28px 22px; }
  .cb-form-head h2 { font-size: 23px; }
  .phone-row { grid-template-columns: minmax(0,1fr) 104px; }
  .avatar-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .avatar-choice { padding: 5px; }
  .avatar-choice span { display: none; }
  .user-date-filters label { grid-template-columns: 1fr; gap: 0; flex: 1 1 140px; }
  .date-filter-arrow { display: none; }
  .user-filter-clear { flex: 1 1 100%; }
  .user-batch-actions { display: grid; grid-template-columns: 1fr; }
  .user-selected-count { padding: 4px 6px; }
  .batch-topup-input { grid-template-columns: auto 1fr auto; }
  .batch-topup-input input { width: 100%; }
  .user-usage-summary { grid-template-columns: 1fr; }
  .ogsm-log-head { align-items: stretch; flex-direction: column; }
  .ogsm-log-head .small-button { width: 100%; }
  .ogsm-log-modal-backdrop { padding: 10px; }
  .ogsm-log-modal { max-height: 90vh; padding: 14px; }
  .ogsm-log-modal-head { top: -14px; margin: -14px -14px 14px; padding: 14px; }
  .ogsm-toolbar, .ogsm-section-heading { align-items: stretch; flex-direction: column; }
  .ogsm-toolbar-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .ogsm-actions-title-row, .ogsm-action-library-tools { align-items: stretch; flex-direction: column; }
  .ogsm-action-library-tools .ogsm-library-select { width: 100%; }
  .ogsm-hero { align-items: flex-start; padding: 23px 20px; }
  .ogsm-badge { flex-basis: 52px; width: 52px; height: 52px; border-radius: 13px; font-size: 30px; }
  .ogsm-hero h2 { font-size: 23px; }
}

.incentive-module-tabs {
  display: flex;
  gap: 4px;
  min-height: 54px;
  padding: 0 14px;
  overflow-x: auto;
  border: 1px solid #dce5f1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(23,39,68,.05);
}
.incentive-module-tabs button {
  position: relative;
  flex: 0 0 auto;
  min-width: 104px;
  min-height: 40px;
  margin: 7px 0;
  padding: 0 18px;
  border: 0;
  border-radius: 9px;
  color: #65738a;
  background: transparent;
  font-size: 15px;
  font-weight: 750;
}
.incentive-module-tabs button::after {
  display: none;
}
.incentive-module-tabs button:hover { color: #185bd5; background: #eef5ff; }
.incentive-module-tabs button.active { color: #fff; background: linear-gradient(100deg,#2468dc,#18a08f); box-shadow: 0 7px 16px rgba(23,97,220,.18); }
.incentive-workspace {
  display: grid;
  grid-template-columns: minmax(300px, .36fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.incentive-config-panel { position: sticky; top: 16px; display: flex; flex-direction: column; max-height: calc(100vh - 32px); padding: 18px; }
.incentive-config-head { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; margin-bottom: 14px; }
.incentive-config-title { margin: 0; color: #17375f; font-size: clamp(20px,1.5vw,24px); font-weight: 900; line-height: 1.2; }
.incentive-config-head h3 { margin-bottom: 4px; }
.incentive-config-head > span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; color: #0b7b66; background: #e6f7f1; font-size: 11px; font-weight: 800; }
.incentive-config-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; width: 100%; min-width: 0; }
.incentive-config-actions .ghost-button,
.incentive-config-actions .primary-button { min-height: 32px; padding-inline: 10px; border-radius: 8px; font-size: 12px; white-space: nowrap; }
.incentive-default-clear-cluster { display: inline-flex; flex: 0 0 auto; align-items: stretch; }
.incentive-default-clear-cluster .ghost-button { border-radius: 0; }
.incentive-default-clear-cluster .ghost-button:first-child { border-radius: 8px 0 0 8px; }
.incentive-default-clear-cluster .ghost-button:last-child { margin-left: -1px; border-radius: 0 8px 8px 0; color: #c7443d; }
.incentive-import-button { color:#1761dc; border-color:#b9cfee; background:#f5f9ff; }
.incentive-import-button:hover { border-color:#78a4e8; background:#eaf2ff; }
.incentive-import-button:disabled { opacity:.7; cursor:progress; }
.incentive-import-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
@media (min-width: 981px) {
  .app-shell:not(.sidebar-collapsed) .incentive-config-head { gap: 8px; }
  .app-shell:not(.sidebar-collapsed) .incentive-config-actions { min-width: 0; }
  .app-shell:not(.sidebar-collapsed) .incentive-config-actions .primary-button { width: auto; padding-inline: 10px; white-space: nowrap; line-height: 1.15; }
}
.incentive-admin-panel { margin-top: 2px; }
.incentive-log-table td:first-child small { display: block; margin-top: 3px; color: #7a899f; font-size: 11px; font-weight: 500; }
.incentive-record-modal { width: min(980px, 96vw); }
.incentive-config-panel > .metric-note { margin-bottom: 14px; line-height: 1.6; }
.incentive-config-scroll { display: grid; flex: 1 1 auto; gap: 9px; min-height: 260px; max-height: calc(100vh - 170px); overflow-y: scroll; overflow-x: hidden; padding-right: 7px; scrollbar-gutter: stable; }
.incentive-config-scroll::-webkit-scrollbar { width: 9px; }
.incentive-config-scroll::-webkit-scrollbar-track { border-radius: 999px; background: #e8eef6; }
.incentive-config-scroll::-webkit-scrollbar-thumb { min-height: 44px; border: 2px solid #e8eef6; border-radius: 999px; background: linear-gradient(180deg, #6c96d9, #24a49a); }
.incentive-config-scroll { scrollbar-color: #4f93bd #e8eef6; scrollbar-width: thin; }
.incentive-config-group { overflow: hidden; border: 1px solid #dbe4f0; border-radius: 9px; background: #f9fbfe; }
.incentive-config-group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px 10px 13px; color: #17375f; background: #f3f7fc; font-weight: 800; cursor: pointer; list-style: none; user-select: none; }
.incentive-config-group summary::-webkit-details-marker { display: none; }
.incentive-group-title { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.incentive-group-title strong { font-size: 13px; }
.incentive-config-group summary small { color: #7a899f; font-size: 11px; font-weight: 600; }
.incentive-group-summary-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.incentive-group-clear { min-height: 23px; padding: 2px 7px; border: 1px solid #efc5c1; border-radius: 6px; color: #c7443d; background: #fff; font: inherit; font-size: 10px; font-weight: 800; line-height: 1; cursor: pointer; }
.incentive-group-clear:hover { border-color: #df8f88; background: #fff4f3; }
.incentive-group-toggle { display: grid; flex: 0 0 auto; place-items: center; width: 23px; height: 23px; border: 1px solid #c8d7ea; border-radius: 7px; color: #1761dc; background: #fff; box-shadow: 0 2px 7px rgba(23,97,220,.08); }
.incentive-group-toggle::before { content: "+"; font-size: 17px; font-weight: 700; line-height: 1; }
.incentive-config-group[open] .incentive-group-toggle::before { content: "−"; }
.incentive-config-fields { display: grid; gap: 6px; padding: 10px; }
.incentive-slot-editor { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 8px; min-width: 0; padding: 0 0 6px; border-bottom: 1px dashed #dce5f1; }
.incentive-slot-editor:last-child { padding-bottom: 0; border-bottom: 0; }
.incentive-slot-editor label { align-self: center; color: #203957; font-size: 12px; font-weight: 750; }
.incentive-slot-combo { min-width: 0; }
.incentive-slot-combo input { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 0 9px; border: 1px solid #cbd8e8; border-radius: 7px; color: #17375f; background: #fff; background-image: none !important; appearance: textfield; font: inherit; font-size: 12px; }
.incentive-slot-combo input::placeholder { color: #8b94a3; opacity: 1; font-weight: 500; }
.incentive-slot-combo input::-webkit-list-button { display: none !important; opacity: 0 !important; }
.incentive-slot-combo input:focus { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-member-names-editor { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; width:100%; }
.fourb-member-size-control { display:grid; grid-template-columns:auto minmax(0,1fr) 42px; align-items:center; gap:8px; padding:8px 9px; border:1px solid #d8e3f0; border-radius:8px; background:linear-gradient(100deg,#f7faff,#fff); }
.fourb-member-size-control > span { color:#526b89; font-size:11px; font-weight:800; white-space:nowrap; }
.fourb-member-size-control input[type="range"] { width:100%; min-width:0; accent-color:#1761dc; cursor:pointer; }
.fourb-member-size-control output { color:#07816c; font-size:11px; font-weight:900; text-align:right; }
.incentive-member-names-control { display:grid; gap:5px; min-width:0; }
.incentive-member-names-control textarea { box-sizing:border-box; width:100%; min-width:0; min-height:72px; max-height:260px; padding:9px 10px; resize:vertical; border:1px solid #cbd8e8; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:12px; line-height:1.55; }
.incentive-member-names-control textarea:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.incentive-member-names-control small { color:#77869a; font-size:10px; line-height:1.45; }
.incentive-member-avatar-editor { display:grid; gap:7px; min-width:0; padding:9px; border:1px solid #d8e3f0; border-radius:9px; background:#f8fbff; }
.incentive-member-avatar-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; }
.incentive-member-avatar-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.incentive-member-avatar-pick { min-height:30px; padding:5px 11px; font-size:11px; }
.incentive-member-avatar-actions > span { color:#6f8198; font-size:10px; line-height:1.45; }
.incentive-member-avatar-list { display:flex; align-items:center; flex-wrap:wrap; gap:7px; max-height:116px; overflow:auto; padding:2px; }
.incentive-member-avatar-item { display:grid; grid-template-columns:30px 20px; align-items:center; gap:5px; padding:3px 4px; border:1px solid #d9e3ef; border-radius:999px; background:#fff; box-shadow:0 2px 6px rgba(23,55,95,.06); }
.incentive-member-avatar-item img { width:30px; height:30px; display:block; object-fit:cover; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #c7d5e5; }
.incentive-member-avatar-item button { display:grid; width:20px; height:20px; place-items:center; padding:0; border:0; border-radius:50%; color:#a61c29; background:#fff0f1; cursor:pointer; font-size:14px; line-height:1; }
.incentive-slot-combo input[type="date"],
.incentive-date-range input[type="date"] { color-scheme: light; appearance: auto; cursor: pointer; }
.incentive-slot-combo input[type="date"]::-webkit-calendar-picker-indicator,
.incentive-date-range input[type="date"]::-webkit-calendar-picker-indicator { display: block; opacity: .72; cursor: pointer; }
.incentive-date-range { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 5px; min-width: 0; }
.incentive-date-range > span { color: #6f7f94; font-size: 11px; text-align: center; }
.incentive-date-range input { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 0 5px; border: 1px solid #cbd8e8; border-radius: 7px; color: #17375f; background: #fff; font: inherit; font-size: 11px; }
.incentive-date-range input:focus { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-slot-threshold { display: grid; grid-template-columns: 0 minmax(0,1fr); overflow: hidden; border: 1px solid #cbd8e8; border-radius: 7px; background: #fff; }
.incentive-slot-threshold.has-value { grid-template-columns: 31px minmax(0,1fr); }
.incentive-threshold-prefix { display: grid; visibility: hidden; overflow: hidden; place-items: center; color: #174f9f; background: #f2f6fc; font-size: 16px; font-weight: 850; }
.incentive-slot-threshold.has-value .incentive-threshold-prefix { visibility: visible; }
.incentive-slot-threshold input { height: 32px; border: 0; border-left: 1px solid #dce5f1; border-radius: 0; }
.incentive-slot-threshold:focus-within { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-slot-threshold input:focus { outline: 0; border-color: #dce5f1; }
.incentive-slot-threshold:not(.has-value) input { border-left: 0; }
.incentive-inline-library { display: grid; grid-template-columns: minmax(0,1fr) auto; min-width: 0; overflow: hidden; border: 1px solid #cbd8e8; border-radius: 7px; background: #fff; }
.incentive-inline-library input { height: 32px; border: 0; border-radius: 0; }
.incentive-library-picker { box-sizing: border-box; width: 70px; height: 32px; padding: 0 5px; border: 0; border-left: 1px solid #d8e2ef; color: #1761dc; background: #f3f7fd; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.incentive-topic-library-toggle { display:flex; box-sizing:border-box; width:70px; height:32px; padding:0 7px; align-items:center; justify-content:space-between; gap:5px; border:0; border-left:1px solid #d8e2ef; color:#1761dc; background:#edf4ff; font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.incentive-topic-library-toggle > span { width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .16s ease; }
.incentive-topic-library-toggle[aria-expanded="true"] > span { transform:translateY(2px) rotate(225deg); }
.incentive-inline-library:focus-within { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-inline-library input:focus,
.incentive-inline-library select:focus,
.incentive-inline-library button:focus { outline: 0; }
.incentive-topic-library-panel { position:fixed; z-index:3200; display:grid; grid-template-columns:minmax(170px,1fr) minmax(170px,1fr); width:min(410px,calc(100vw - 24px)); overflow:hidden; border:1px solid #bfd0e5; border-radius:10px; background:#f4f8ff; box-shadow:0 14px 36px rgba(13,42,82,.22); }
.incentive-topic-library-panel[hidden] { display:none; }
.incentive-topic-library-column { min-width:0; padding:10px; }
.incentive-topic-library-column + .incentive-topic-library-column { border-left:1px solid #d6e1ef; background:#f8fbff; }
.incentive-topic-library-column > strong { display:block; margin:-10px -10px 8px; padding:9px 11px; color:#174f9f; background:#e5efff; font-size:12px; font-weight:900; }
.incentive-topic-library-column + .incentive-topic-library-column > strong { color:#087668; background:#e5f6f2; }
.incentive-topic-library-column > div { display:grid; align-content:start; gap:2px; }
.incentive-topic-library-column button { width:100%; padding:6px 8px; border:0; border-radius:6px; color:#1761dc; background:transparent; font:inherit; font-size:12px; line-height:1.25; text-align:left; cursor:pointer; }
.incentive-topic-library-column + .incentive-topic-library-column button { color:#087668; }
.incentive-topic-library-column button:hover,
.incentive-topic-library-column button:focus-visible { background:#dfeaff; outline:0; }
.incentive-topic-library-column + .incentive-topic-library-column button:hover,
.incentive-topic-library-column + .incentive-topic-library-column button:focus-visible { background:#ddf2ed; }
.incentive-structured-editor { display: block; padding: 0 0 8px; }
.incentive-structured-title { margin-bottom: 7px; color: #17375f; font-size: 13px; font-weight: 850; }
.incentive-structured-rows { display: grid; gap: 6px; }
.incentive-structured-row { display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; gap: 6px; min-width: 0; }
.incentive-structured-row > span { color: #334d6d; font-size: 12px; font-weight: 750; white-space: nowrap; }
.incentive-structured-row input,
.incentive-structured-row select { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid #cbd8e8; border-radius: 7px; color: #17375f; background: #fff; font: inherit; font-size: 12px; }
.incentive-structured-row input::placeholder { color: #8b94a3; opacity: 1; }
.incentive-structured-row input:focus,
.incentive-structured-row select:focus { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-team-row { grid-template-columns: 54px minmax(82px,.82fr) minmax(0,1fr); }
.incentive-team-award-card,
.incentive-tail-award-card,
.incentive-hero-award-card,
.incentive-simple-award-card,
.incentive-other-rules-card { display: grid; gap: 8px; padding: 8px; border: 1px solid #ead9b8; border-radius: 8px; background: #fffaf2; }
.incentive-team-award-row { display: grid; gap: 6px; padding-bottom: 8px; border-bottom: 1px dashed #eadcc4; }
.incentive-team-award-row:last-of-type { padding-bottom: 0; border-bottom: 0; }
.incentive-team-award-add { display:grid; place-items:center; width:100%; min-height:28px; padding:0; border:1px dashed #d6b976; border-radius:7px; color:#9c6b08; background:#fffdf8; font:inherit; font-size:18px; font-weight:800; line-height:1; cursor:pointer; }
.incentive-team-award-add:hover { border-color:#c39434; color:#7c5200; background:#fff6df; }
.incentive-team-condition { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 6px; }
.incentive-team-condition > span { color: #334d6d; font-size: 12px; font-weight: 750; }
.incentive-team-condition select { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid #cbd8e8; border-radius: 7px; color: #17375f; background: #fff; font: inherit; font-size: 12px; }
.incentive-team-condition select:focus { outline: 3px solid rgba(23,97,220,.13); border-color: #6b9ce5; }
.incentive-tail-award-card .incentive-structured-row { grid-template-columns: 48px minmax(0,1fr); }
.incentive-top-periods { display: grid; gap: 8px; }
.incentive-top-period { display: grid; gap: 6px; padding: 8px; border: 1px solid #ead9b8; border-radius: 8px; background: #fffaf2; }
.incentive-top-period > strong { color: #a52a2d; font-size: 12px; font-weight: 900; }
.incentive-top-period-select { box-sizing:border-box; width:54px; height:28px; padding:0 7px; border:1px solid #e4c88e; border-radius:7px; color:#a52a2d; background:#fff; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.incentive-top-period-select:focus { outline:3px solid rgba(196,137,24,.14); border-color:#c99737; }
.incentive-top-period .incentive-structured-row { grid-template-columns: 40px minmax(0,1fr); }
.incentive-top-period-month { background: #fffaf2; }
.incentive-top-period .incentive-top-row { grid-template-columns:40px minmax(0,1fr) 22px; gap:4px; }
.incentive-top-remove { width:22px; height:28px; padding:0; border:0; border-radius:5px; color:#a05a45; background:transparent; font:inherit; font-size:18px; cursor:pointer; }
.incentive-top-remove:hover { color:#b42318; background:#ffede7; }
.incentive-top-row:not(:has(.incentive-top-remove)) { grid-template-columns:40px minmax(0,1fr); }
.incentive-top-add { min-height:28px; font-size:12px; }
.incentive-structured-row .incentive-inline-library input,
.incentive-structured-row .incentive-inline-library select { height: 32px; }
.incentive-structured-row .incentive-inline-library .incentive-library-picker { width: 70px; border: 0; border-left: 1px solid #c7d9f2; border-radius: 0; color:#1761dc; background:#edf4ff; font-size:11px; font-weight:850; }
.incentive-structured-row .incentive-inline-library input { border: 0; border-radius: 0; }
.incentive-inline-library input { color:#17375f; font:inherit; font-size:12px; }
.incentive-inline-library > .incentive-library-picker { color:#1761dc !important; background:#edf4ff !important; font-size:11px; font-weight:850; }
.incentive-hero-entries-editor { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%; min-width:0; }
.incentive-hero-entries-editor > * { grid-column:1 / -1; }
.incentive-hero-entries-editor .incentive-structured-title { margin-bottom:0; }
.incentive-hero-entry-list { display:grid; gap:8px; width:100%; min-width:0; }
.incentive-hero-entry-row { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; min-width:0; padding:8px; border:1px solid #d8e3f0; border-radius:9px; background:linear-gradient(105deg,#f7faff,#fff); }
.incentive-hero-entry-bar { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; }
.incentive-hero-entry-bar strong { color:#315170; font-size:11px; font-weight:900; }
.incentive-hero-entry-bar button { display:grid; flex:0 0 26px; width:26px; height:26px; place-items:center; padding:0; border:1px solid #efb7b7; border-radius:7px; color:#bb2529; background:#fff5f5; font:inherit; font-size:16px; font-weight:900; line-height:1; cursor:pointer; }
.incentive-hero-entry-bar button:hover { background:#ffe9e9; }
.incentive-hero-field { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:8px; min-width:0; }
.incentive-hero-field > span { color:#667b94; font-size:11px; font-weight:850; text-align:right; }
.incentive-hero-field > input,
.incentive-hero-date-range input { box-sizing:border-box; width:100%; min-width:0; height:36px; padding:0 9px; border:1px solid #cbd8e8; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:12px; }
.incentive-hero-field > input::placeholder { color:#8b94a3; opacity:1; }
.incentive-hero-field > input:focus,
.incentive-hero-date-range input:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.incentive-hero-date-range { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:5px; min-width:0; }
.incentive-hero-date-range > span { color:#73849a; font-size:10px; font-weight:700; text-align:center; }
.incentive-hero-date-range input[type="date"] { color-scheme:light; appearance:auto; cursor:pointer; padding-inline:6px 2px; font-size:11px; }
.incentive-hero-date-range input[type="date"]::-webkit-calendar-picker-indicator { display:block; opacity:.72; cursor:pointer; }
.incentive-hero-entry-footer { display:flex; width:100%; min-width:0; align-items:center; justify-content:flex-start; gap:8px; }
.incentive-hero-entry-footer > span { color:#72849a; font-size:10px; font-weight:800; }
.incentive-hero-add { flex:0 0 auto; min-height:31px; padding-inline:10px; color:#1761dc; font-size:11px; font-weight:850; }
.incentive-hero-add:disabled { opacity:.48; cursor:not-allowed; }
.incentive-simple-award-card input,
.incentive-other-rules-card textarea { box-sizing:border-box; width:100%; min-width:0; border:1px solid #cbd8e8; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:12px; }
.incentive-simple-award-card input { height:34px; padding:0 9px; }
.incentive-other-rules-card textarea { min-height:72px; padding:9px; line-height:1.55; resize:vertical; }
.incentive-simple-award-card input:focus,
.incentive-other-rules-card textarea:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.fourb-preview-card { min-width: 0; overflow: hidden; border: 1px solid #dce5f1; border-radius: 10px; background: #fff; box-shadow: 0 10px 32px rgba(23,39,68,.06); }
body.incentive-board-fullscreen-open { overflow:hidden; }
.fourb-preview-card.is-incentive-fullscreen { position:fixed; z-index:20050; inset:0; display:flex; width:100vw; height:100vh; min-width:0; flex-direction:column; overflow:hidden; border:0; border-radius:0; background:#101a28; box-shadow:none; }
.fourb-preview-card.is-incentive-fullscreen::after { content:"按 ESC 退出全屏"; position:fixed; z-index:20090; top:16px; left:50%; max-width:calc(100vw - 32px); padding:9px 16px; pointer-events:none; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#fff; background:rgba(10,22,38,.82); box-shadow:0 8px 24px rgba(0,0,0,.3); backdrop-filter:blur(8px); font-size:13px; font-weight:800; line-height:1.2; letter-spacing:.02em; white-space:nowrap; opacity:0; transform:translate(-50%,-8px); animation:incentive-fullscreen-exit-hint 2.8s ease forwards; }
.fourb-preview-card.is-incentive-fullscreen.is-incentive-fullscreen-restored::after { display:none; animation:none; }
@keyframes incentive-fullscreen-exit-hint {
  0% { opacity:0; transform:translate(-50%,-8px); }
  12%,72% { opacity:1; transform:translate(-50%,0); }
  100% { opacity:0; transform:translate(-50%,-4px); }
}
.fourb-preview-card.is-incentive-fullscreen .fourb-preview-head { display:none; }
.fourb-preview-card.is-incentive-fullscreen .fourb-preview-scroll,
.fourb-preview-card.is-incentive-fullscreen .fourb-bonus-scroll,
.fourb-preview-card.is-incentive-fullscreen .yearend-preview-scroll { box-sizing:border-box; min-width:0; min-height:0; flex:1 1 auto; overflow:auto; background:#101a28; }
.fourb-preview-card.is-incentive-fullscreen .yearend-preview-scroll { max-height:none; padding:0; }
.fourb-preview-card.is-incentive-fullscreen .fourb-preview-scroll,
.fourb-preview-card.is-incentive-fullscreen .fourb-bonus-scroll { display:flex; align-items:center; justify-content:center; }
.fourb-preview-card.is-incentive-fullscreen .fourb-preview-scroll { padding:0; }
.fourb-preview-card.is-incentive-fullscreen .fourb-preview-stage { width:min(100vw,calc(100vh * 1.6646)); min-width:0; flex:0 0 auto; }
.fourb-preview-card.is-incentive-fullscreen .milestone-preview-stage { width:min(100vw,calc(100vh * .6666)); min-width:0; flex:0 0 auto; }
.fourb-preview-card.is-incentive-fullscreen .overproduction-preview-stage { width:min(100vw,calc(100vh * 1.6666)); min-width:0; flex:0 0 auto; }
.fourb-preview-card.is-incentive-fullscreen .bet-preview-stage { width:min(100vw,calc(100vh * 1.5)); min-width:0; flex:0 0 auto; }
.fourb-preview-card.is-incentive-fullscreen .fourb-bonus-board { box-sizing:border-box; width:100%; max-width:1500px; margin:auto; }
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-scroll { align-items:flex-start; padding:18px 24px; }
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-board { display:block; min-width:0; padding:0; border:0; background:transparent; box-shadow:none; }
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-summary,
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-rule,
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-tier-grid { display:none; }
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-ranking { width:100%; max-height:calc(100vh - 36px); overflow:auto; box-shadow:0 14px 38px rgba(0,0,0,.24); }
.fourb-bonus-preview-card.is-incentive-fullscreen .fourb-bonus-section-head { position:sticky; z-index:2; top:0; }
.fourb-preview-card.is-incentive-fullscreen .yearend-preview-stage { width:min(100%,1440px); margin:0 auto; }
.fourb-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-bottom: 1px solid #e2e9f2; background: linear-gradient(100deg, #fffaf2, #fff 50%, #f5f8fd); }
.fourb-preview-head > div { display: grid; gap: 3px; }
.fourb-preview-head span { color: #a52a2d; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.fourb-preview-head strong { color: #172f50; font-size: 16px; }
.fourb-preview-head small { color: #7a8799; font-size: 11px; }
.fourb-preview-head-tools { display:flex !important; grid-template-columns:none !important; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px !important; min-width:0; }
.fourb-preview-mode { display:inline-flex; overflow:hidden; padding:3px; border:1px solid #ccdaea; border-radius:9px; background:#eef4fb; }
.fourb-preview-mode button { min-height:30px; padding:0 11px; border:0; border-radius:6px; color:#667991; background:transparent; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.fourb-preview-mode button:hover { color:#1761dc; background:#fff; }
.fourb-preview-mode button.active { color:#fff; background:linear-gradient(100deg,#2468dc,#18a08f); box-shadow:0 4px 10px rgba(23,97,220,.17); }
.fourb-bonus-download { min-height:36px; padding-inline:12px; border-radius:8px; font-size:12px; }
.fourb-preview-scroll { padding: 12px; overflow: auto; background: #eef2f7; }
.fourb-preview-stage { position: relative; width: 100%; min-width: 760px; aspect-ratio: 1365 / 820; overflow: hidden; background: #9b0508; container-type:inline-size; }
.fourb-preview-stage > img { display: block; width: 100%; height: 100%; object-fit: contain; }
[data-incentive-preview-stage]::before,
[data-incentive-preview-stage]::after { position:absolute; z-index:20; pointer-events:none; opacity:0; transition:opacity .18s ease; }
[data-incentive-preview-stage].is-template-loading::before,
[data-incentive-preview-stage].is-template-error::before { content:""; inset:0; opacity:1; background:linear-gradient(110deg,#e9eef5 8%,#f8fafc 24%,#e9eef5 40%); background-size:220% 100%; animation:incentive-template-shimmer 1.25s linear infinite; }
[data-incentive-preview-stage].is-template-loading::after,
[data-incentive-preview-stage].is-template-error::after { content:"正在加载看板…"; inset:50% auto auto 50%; opacity:1; padding:9px 14px; border:1px solid rgba(126,145,168,.24); border-radius:999px; color:#52657d; background:rgba(255,255,255,.9); box-shadow:0 8px 24px rgba(31,53,78,.08); font-size:13px; font-weight:750; white-space:nowrap; transform:translate(-50%,-50%); }
[data-incentive-preview-stage].is-template-error::before { animation:none; background:#edf1f6; }
[data-incentive-preview-stage].is-template-error::after { content:"底图加载失败，请检查网络后刷新"; color:#a33b3b; }
[data-incentive-preview-stage] > img,
[data-incentive-preview-stage] > [data-incentive-overlay],
[data-incentive-preview-stage] > .fourb-member-markers,
[data-incentive-preview-stage] > [data-bet-wager-overlays] { opacity:1; transition:opacity .22s ease; }
[data-incentive-preview-stage].is-template-loading > img,
[data-incentive-preview-stage].is-template-loading > [data-incentive-overlay],
[data-incentive-preview-stage].is-template-loading > .fourb-member-markers,
[data-incentive-preview-stage].is-template-loading > [data-bet-wager-overlays],
[data-incentive-preview-stage].is-template-error > img,
[data-incentive-preview-stage].is-template-error > [data-incentive-overlay],
[data-incentive-preview-stage].is-template-error > .fourb-member-markers,
[data-incentive-preview-stage].is-template-error > [data-bet-wager-overlays] { opacity:0; }
@keyframes incentive-template-shimmer { to { background-position-x:-220%; } }
.fourb-member-markers { position:absolute; z-index:3; inset:0; pointer-events:none; }
.fourb-member-marker { position:absolute; display:flex; box-sizing:border-box; width:var(--fourb-member-size,3.5%); aspect-ratio:1; align-items:center; justify-content:center; overflow:hidden; padding:0; border:1px solid rgba(34,34,34,.2); border-radius:50%; color:#111; background:#fff; box-shadow:0 2px 7px rgba(50,0,0,.24); transform:translate(-50%,-50%); pointer-events:auto; touch-action:none; user-select:none; -webkit-user-select:none; cursor:grab; font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-size:9px; font-size:var(--fourb-member-font,.9cqw); font-weight:800; line-height:1; text-align:center; white-space:nowrap; }
.fourb-member-marker:hover { border-color:rgba(151,14,17,.58); box-shadow:0 3px 9px rgba(50,0,0,.3); }
.fourb-member-marker:active,
.fourb-member-marker.is-dragging { cursor:grabbing; box-shadow:0 4px 12px rgba(50,0,0,.36); }
.fourb-member-marker:focus-visible { outline:3px solid rgba(255,214,75,.95); outline-offset:2px; }
.fourb-member-marker.is-avatar { border:2px solid #fff; background:#fff; }
.fourb-member-marker.is-avatar img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; pointer-events:none; }
.incentive-bonus-person { display:inline-flex; align-items:center; gap:7px; min-width:0; vertical-align:middle; }
.incentive-bonus-person img { display:block; width:28px; height:28px; flex:0 0 auto; object-fit:cover; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px rgba(22,60,107,.18); }
.incentive-bonus-person.is-avatar-only { display:inline-grid; width:32px; height:32px; place-items:center; overflow:hidden; gap:0; border-radius:50%; }
.incentive-bonus-person.is-avatar-only img { box-sizing:border-box; width:100%; height:100%; border:0; box-shadow:none; }
.incentive-bonus-person.is-compact { gap:4px; }
.incentive-bonus-person.is-avatar-only.is-compact { width:100%; height:100%; gap:0; }
.incentive-bonus-person.is-avatar-only.is-compact img { width:100%; height:100%; }
.fourb-bonus-preview-card { background:#f6f9fd; }
.fourb-bonus-scroll { overflow:auto; padding:12px; background:#edf3fa; }
.fourb-bonus-board { display:grid; gap:12px; min-width:760px; padding:14px; border:1px solid #d5e1ef; border-radius:10px; background:linear-gradient(145deg,#f9fcff,#fff 48%,#fdf9f0); box-shadow:inset 0 1px 0 #fff; }
.fourb-bonus-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.fourb-bonus-summary > div { display:grid; gap:4px; min-width:0; padding:11px 13px; border:1px solid #d5e2f0; border-radius:9px; background:#fff; box-shadow:0 6px 16px rgba(22,55,96,.055); }
.fourb-bonus-summary span { color:#71839a; font-size:10px; font-weight:750; }
.fourb-bonus-summary strong { overflow:hidden; color:#173f72; font-size:18px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.fourb-bonus-summary > div:nth-child(2) { border-color:#bae2d7; background:linear-gradient(145deg,#f4fffb,#fff); }
.fourb-bonus-summary > div:nth-child(2) strong { color:#07816c; }
.fourb-bonus-rule { margin:0; padding:8px 11px; border-left:3px solid #f3b53a; border-radius:4px 8px 8px 4px; color:#765412; background:#fff8e8; font-size:10px; font-weight:650; line-height:1.55; }
.fourb-bonus-tier-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:hidden; border:1px solid #c8d8e9; border-radius:10px; background:#fff; }
.fourb-bonus-tier { display:grid; grid-template-rows:auto auto minmax(84px,1fr); align-content:start; min-width:0; padding:10px; background:#fff; }
.fourb-bonus-tier + .fourb-bonus-tier { border-left:2px solid #d2deeb; }
.fourb-bonus-tier header { display:flex; align-items:center; justify-content:space-between; gap:6px; padding-bottom:7px; border-bottom:3px solid var(--tier-color,#7698c3); }
.fourb-bonus-tier header strong { color:#17375f; font-size:12px; font-weight:900; }
.fourb-bonus-tier header span { flex:0 0 auto; padding:2px 6px; border-radius:999px; color:var(--tier-color,#426995); background:var(--tier-soft,#eef4fb); font-size:9px; font-weight:850; }
.fourb-bonus-tier > small { min-height:32px; padding-top:7px; color:#6d7f95; font-size:8px; font-weight:650; line-height:1.35; }
.fourb-bonus-tier-people { display:flex; align-content:flex-start; align-items:flex-start; justify-content:center; flex-wrap:wrap; gap:7px; padding:10px 2px 2px; }
.fourb-bonus-person-chip { display:flex; box-sizing:border-box; width:42px; height:42px; align-items:center; justify-content:center; overflow:hidden; padding:4px; border:2px solid var(--tier-color,#7698c3); border-radius:50%; color:#17375f; background:var(--tier-soft,#f3f7fc); box-shadow:0 3px 8px rgba(23,55,95,.11); font-size:9px; font-weight:850; line-height:1.05; text-align:center; word-break:break-all; }
.fourb-bonus-person-chip.is-avatar-only { padding:0; background:#fff; }
.fourb-bonus-empty { align-self:center; color:#a0acba; font-size:9px; }
.fourb-bonus-tier.level-5,.fourb-bonus-level-tag.level-5 { --tier-color:#c99622;--tier-soft:#fff5d6; }
.fourb-bonus-tier.level-4,.fourb-bonus-level-tag.level-4 { --tier-color:#7656c7;--tier-soft:#f3efff; }
.fourb-bonus-tier.level-3,.fourb-bonus-level-tag.level-3 { --tier-color:#176bd7;--tier-soft:#eaf3ff; }
.fourb-bonus-tier.level-2,.fourb-bonus-level-tag.level-2 { --tier-color:#0f9081;--tier-soft:#e7f8f4; }
.fourb-bonus-tier.level-1,.fourb-bonus-level-tag.level-1 { --tier-color:#5d86a7;--tier-soft:#edf4f8; }
.fourb-bonus-tier.level-0,.fourb-bonus-level-tag.level-0 { --tier-color:#8a919c;--tier-soft:#f0f2f5; }
.fourb-bonus-ranking { overflow:hidden; border:1px solid #d5e1ef; border-radius:10px; background:#fff; }
.fourb-bonus-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-bottom:1px solid #dfe7f0; background:linear-gradient(100deg,#173f72,#245d99); }
.fourb-bonus-section-head > div { display:flex; align-items:baseline; gap:9px; }
.fourb-bonus-section-head span { color:#f5c761; font-size:10px; font-weight:850; letter-spacing:.06em; }
.fourb-bonus-section-head strong { color:#fff; font-size:12px; }
.fourb-bonus-section-head small { color:#dce8f6; font-size:9px; }
.fourb-bonus-section-head .fourb-bonus-section-actions { display:flex; align-items:center; gap:8px; }
.fourb-bonus-section-actions button { min-height:28px; padding:4px 10px; border:1px solid rgba(255,255,255,.5); border-radius:7px; color:#173f72; background:#fff; font:inherit; font-size:9px; font-weight:900; cursor:pointer; box-shadow:0 3px 9px rgba(8,33,63,.16); }
.fourb-bonus-section-actions button:hover { background:#fff8df; }
.fourb-bonus-rounding { display:flex; align-items:center; gap:5px; color:#fff; font-size:9px; font-weight:800; white-space:nowrap; }
.fourb-bonus-rounding > span { color:#fff; font-size:9px; letter-spacing:0; }
.fourb-bonus-section-actions .fourb-bonus-round-unit { box-sizing:border-box; min-width:30px; padding:4px 8px; }
.fourb-bonus-section-actions .fourb-bonus-round-unit.is-active { border-color:#f5c761; color:#173f72; background:#ffe7a4; box-shadow:0 0 0 2px rgba(245,199,97,.24); }
.fourb-bonus-section-actions .fourb-bonus-round-cancel { min-width:62px; }
.fourb-bonus-section-actions .fourb-bonus-round-cancel:disabled { color:#8fa1b5; background:#e8eef5; cursor:default; box-shadow:none; opacity:.78; }
@media (max-width:980px) {
  .fourb-bonus-section-head { align-items:flex-start; flex-direction:column; }
  .fourb-bonus-section-head .fourb-bonus-section-actions { flex-wrap:wrap; }
}
.fourb-bonus-table-wrap { overflow:auto; }
.fourb-bonus-ranking table { width:100%; border-collapse:collapse; color:#263e5b; font-size:10px; }
.fourb-bonus-ranking th { padding:8px 9px; color:#516984; background:#f0f5fb; font-size:9px; font-weight:850; text-align:left; white-space:nowrap; }
.fourb-bonus-ranking td { padding:8px 9px; border-top:1px solid #e4ebf3; vertical-align:middle; }
.fourb-bonus-ranking td:first-child,.fourb-bonus-ranking th:first-child { width:44px; text-align:center; }
.fourb-bonus-ranking td:last-child,.fourb-bonus-ranking th:last-child { text-align:right; white-space:nowrap; }
.fourb-bonus-ranking td:last-child strong { color:#07816c; font-size:11px; }
.fourb-bonus-level-tag { display:inline-flex; align-items:center; min-height:23px; padding:0 8px; border:1px solid var(--tier-color,#7698c3); border-radius:999px; color:var(--tier-color,#426995); background:var(--tier-soft,#eef4fb); font-size:9px; font-weight:850; white-space:nowrap; }
.fourb-bonus-achievement-input { box-sizing:border-box; width:96px; min-height:30px; padding:5px 8px; border:1px solid #b9cce2; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:10px; font-weight:750; outline:none; }
.fourb-bonus-achievement-input:focus { border-color:#2d72db; box-shadow:0 0 0 3px rgba(45,114,219,.12); }
.fourb-bonus-achievement-input::placeholder { color:#9aa9b9; font-weight:600; }
.fourb-bonus-table-empty { padding:22px !important; color:#8290a3; text-align:center !important; }
.fourb-ranking-card { overflow:hidden; border:1px solid #cad9e8; border-radius:18px; background:#f5f9fd; box-shadow:0 18px 42px rgba(20,53,91,.12); }
.fourb-ranking-card h2 { position:relative; margin:0; padding:31px 24px 36px; color:#fff; background:linear-gradient(110deg,#112f55,#184f82 56%,#137f77); font-size:32px; font-weight:950; line-height:1; letter-spacing:.12em; text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.18); }
.fourb-ranking-card h2::after { position:absolute; left:50%; bottom:19px; width:98px; height:4px; border-radius:999px; background:#f4c75e; content:""; transform:translateX(-50%); box-shadow:0 2px 8px rgba(244,199,94,.3); }
.fourb-ranking-list { display:grid; gap:11px; padding:18px; background:linear-gradient(145deg,#edf4fb,#fbfdff 55%,#fff8eb); }
.fourb-ranking-list.is-two-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fourb-ranking-item { display:grid; grid-template-columns:58px minmax(160px,.7fr) minmax(220px,1.35fr) auto; align-items:center; gap:13px; min-width:0; min-height:76px; padding:10px 16px 10px 11px; border:1px solid #d6e2ee; border-left:4px solid var(--tier-color,#7698c3); border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 7px 18px rgba(20,53,91,.07); }
.fourb-ranking-item.level-5 { --tier-color:#c99622;--tier-soft:#fff5d6; }
.fourb-ranking-item.level-4 { --tier-color:#7656c7;--tier-soft:#f3efff; }
.fourb-ranking-item.level-3 { --tier-color:#176bd7;--tier-soft:#eaf3ff; }
.fourb-ranking-item.level-2 { --tier-color:#0f9081;--tier-soft:#e7f8f4; }
.fourb-ranking-item.level-1 { --tier-color:#5d86a7;--tier-soft:#edf4f8; }
.fourb-ranking-item.level-0 { --tier-color:#8a919c;--tier-soft:#f0f2f5; }
.fourb-ranking-item.rank-1 { border-color:#dec269; background:linear-gradient(105deg,#fff9e6,#fff); }
.fourb-ranking-item.rank-2 { border-color:#bdc9d5; background:linear-gradient(105deg,#f6f8fb,#fff); }
.fourb-ranking-item.rank-3 { border-color:#dcad8a; background:linear-gradient(105deg,#fff3ea,#fff); }
.fourb-ranking-number { display:grid; place-items:center; align-content:center; width:48px; height:48px; border-radius:50%; color:#355777; background:#e9f0f7; line-height:1; box-shadow:inset 0 0 0 1px rgba(34,70,105,.08); }
.fourb-ranking-number span { color:inherit; font-size:7px; font-weight:850; letter-spacing:.04em; }
.fourb-ranking-number strong { color:inherit; font-size:20px; font-weight:950; }
.fourb-ranking-item.rank-1 .fourb-ranking-number { color:#fff; background:linear-gradient(145deg,#e0b632,#a87812); box-shadow:0 5px 12px rgba(168,120,18,.25); }
.fourb-ranking-item.rank-2 .fourb-ranking-number { color:#fff; background:linear-gradient(145deg,#aebdca,#71879b); box-shadow:0 5px 12px rgba(74,96,116,.2); }
.fourb-ranking-item.rank-3 .fourb-ranking-number { color:#fff; background:linear-gradient(145deg,#d99568,#a25d35); box-shadow:0 5px 12px rgba(149,80,43,.2); }
.fourb-ranking-person { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; }
.fourb-ranking-person > strong { overflow:hidden; color:#163a62; font-size:14px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.fourb-ranking-breakdown { overflow:hidden; color:#6a7e94; font-size:9px; font-weight:650; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.fourb-ranking-amount { color:#07816c; font-size:15px; font-weight:950; text-align:right; white-space:nowrap; }
.fourb-ranking-empty { padding:48px 20px; color:#8796a8; font-size:15px; font-weight:750; text-align:center; }
.fourb-ranking-list.is-two-column .fourb-ranking-item { grid-template-areas:"rank person amount" "rank detail detail"; grid-template-columns:52px minmax(0,1fr) auto; gap:5px 11px; min-height:82px; }
.fourb-ranking-list.is-two-column .fourb-ranking-number { grid-area:rank; }
.fourb-ranking-list.is-two-column .fourb-ranking-person { grid-area:person; }
.fourb-ranking-list.is-two-column .fourb-ranking-breakdown { grid-area:detail; }
.fourb-ranking-list.is-two-column .fourb-ranking-amount { grid-area:amount; }
.fourb-overlay { position: absolute; z-index: 1; display: flex; align-items: center; overflow: hidden; padding: .2% .45%; color: #970e11; font-size:1.3811cqw; font-weight: 800; line-height: 1.25; white-space: pre-wrap; word-break: break-word; }
.fourb-overlay-topic { left:11.5%; top:17.3%; width:16%; height:4.7%; }
.fourb-overlay-totalAmount { left:11.5%; top:22.9%; width:16%; height:4.7%; }
.fourb-overlay-updateDate { left:11.5%; top:28.6%; width:16%; height:4.7%; font-size:1.3811cqw; white-space:nowrap; }
.fourb-overlay-brandMark { left:3.3%; top:51.5%; width:8.8%; height:8.7%; justify-content:center; color:#6f0d10; text-align:center; }
.fourb-overlay-department { left:8.05%; top:91.3%; width:22.15%; height:3.45%; box-sizing:border-box; padding-left:.35%; color:#970e11; background:transparent; font-size:1.1453cqw; }
.fourb-overlay-period { left:7.65%; top:95.36%; width:22.55%; height:3.45%; display:block; box-sizing:border-box; padding:0; background:transparent; white-space:nowrap; }
.fourb-date-part { position:absolute; top:0; display:flex; height:100%; align-items:center; justify-content:center; overflow:hidden; padding:0; color:#970e11; font-size:.9263cqw; font-weight:850; line-height:1; text-align:center; white-space:nowrap; }
.fourb-date-start-year { left:0; width:15.2%; }
.fourb-date-start-month { left:20.7%; width:9.5%; }
.fourb-date-start-day { left:35.3%; width:7.5%; }
.fourb-date-end-year { left:54%; width:11.1%; }
.fourb-date-end-month { left:71.7%; width:7.8%; }
.fourb-date-end-day { left:85%; width:8.1%; }
.fourb-overlay-level1Amount { left:19.3%; top:45.4%; width:6.8%; height:4.1%; }
.fourb-overlay-level1Target { left:17.5%; top:50.8%; width:8.8%; height:4.3%; justify-content:center; text-align:center; }
.fourb-overlay-level2Amount { left:30.2%; top:39.0%; width:7.2%; height:4.1%; }
.fourb-overlay-level2Target { left:28.6%; top:44.4%; width:8.8%; height:4.3%; justify-content:center; text-align:center; }
.fourb-overlay-level3Amount { left:41.4%; top:34.4%; width:7%; height:4.1%; }
.fourb-overlay-level3Target { left:39.8%; top:39.7%; width:8.8%; height:4.3%; justify-content:center; text-align:center; }
.fourb-overlay-level4Amount { left:51.5%; top:26.5%; width:7%; height:4.1%; }
.fourb-overlay-level4Target { left:49.9%; top:31.8%; width:8.8%; height:4.3%; justify-content:center; text-align:center; }
.fourb-overlay-level5Amount { left:62%; top:15.9%; width:7%; height:4.1%; }
.fourb-overlay-level5Target { left:60.2%; top:21.1%; width:8.8%; height:4.3%; justify-content:center; text-align:center; }
.fourb-overlay-topAward { left:70.4%; top:9%; width:28.4%; height:13.5%; align-items:flex-start; font-size:1.2126cqw; line-height:1.42; white-space:pre-line; }
.fourb-overlay-topAward.fourb-overlay-top-lines-1,
.fourb-overlay-topAward.fourb-overlay-top-lines-2,
.fourb-overlay-topAward.fourb-overlay-top-lines-3 { font-size:1.3811cqw; line-height:1.45; }
.fourb-overlay-topAward.fourb-overlay-top-lines-4 { font-size:1.2126cqw; line-height:1.42; }
.fourb-overlay-topAward.fourb-overlay-top-lines-5 { display:grid; grid-template-rows:repeat(5,minmax(0,1fr)); align-items:stretch; padding-top:.2%; padding-bottom:.2%; font-size:1.1842cqw; line-height:1; white-space:normal; }
.fourb-top-award-line { display:flex; min-width:0; align-items:center; overflow:hidden; font:inherit; line-height:1; white-space:nowrap; }
.fourb-overlay-topAward.fourb-overlay-top-compact { font-size:1.0442cqw; line-height:1.27; }
.fourb-overlay-topAward.fourb-overlay-top-dense { padding-top:.12%; font-size:.9095cqw; line-height:1.16; }
.fourb-overlay-topAward.fourb-overlay-top-lines-5.fourb-overlay-auto-compact { font-size:1.0526cqw; line-height:1; }
.fourb-overlay-topAward.fourb-overlay-top-lines-5.fourb-overlay-auto-dense { font-size:.9211cqw; line-height:1; }
.fourb-overlay-teamAward { left:70.4%; top:28.4%; width:28.4%; height:13.2%; align-items:flex-start; line-height:1.8; white-space:pre-line; }
.fourb-overlay-salesDay,
.fourb-overlay-tailDog,
.fourb-overlay-tailLucky { top:47.85%; align-items:flex-start; justify-content:center; text-align:left; }
.fourb-overlay-salesDay { left:70.4%; width:8.55%; height:10.4%; }
.fourb-overlay-tailDog { left:79.75%; width:9.65%; height:10.4%; }
.fourb-overlay-tailLucky { left:90.15%; width:8.45%; height:10.4%; }
.fourb-overlay-heroEntries { left:69.85%; top:70.2%; width:28.45%; height:7.4%; align-items:stretch; padding:0; background:transparent; white-space:normal; }
.fourb-hero-entry-grid { display:grid; width:100%; height:100%; grid-template-columns:repeat(5,minmax(0,1fr)); }
.fourb-hero-entry { display:grid; min-width:0; height:100%; grid-template-rows:repeat(3,minmax(0,1fr)); align-items:stretch; padding:0 4%; }
.fourb-hero-entry-value { display:flex; min-width:0; align-items:center; justify-content:center; overflow:hidden; color:#970e11; font-weight:850; line-height:1; text-align:center; white-space:nowrap; }
.fourb-hero-entry-date { font-size:.8553cqw; font-weight:780; }
.fourb-hero-entry-name { font-size:1.25cqw; font-weight:900; }
.fourb-hero-entry-score { font-size:1.1184cqw; font-weight:900; }
.fourb-hero-entry-date.is-compact { font-size:.7632cqw; }
.fourb-hero-entry-date.is-dense { font-size:.5263cqw; }
.fourb-hero-entry-name.is-compact { font-size:.9868cqw; }
.fourb-hero-entry-name.is-dense { font-size:.7895cqw; }
.fourb-hero-entry-score.is-compact { font-size:.9211cqw; }
.fourb-hero-entry-score.is-dense { font-size:.7632cqw; }
.fourb-overlay-otherRules { left:70.4%; top:86.2%; width:28.4%; height:11.8%; align-items:flex-start; }
.fourb-overlay.fourb-overlay-auto-compact { font-size:.9768cqw; line-height:1.14; }
.fourb-overlay.fourb-overlay-auto-dense { font-size:.7747cqw; line-height:1.04; }
.fourb-overlay-honorBoard { left:3.7%; top:68.5%; width:12%; height:18%; align-items:flex-start; justify-content:center; text-align:center; }
.fourb-overlay-signature { left:46%; top:82.5%; width:22%; height:15%; align-items:flex-start; justify-content:center; text-align:center; }
.milestone-inline-library { display:grid; grid-template-columns:minmax(0,1fr) auto; min-width:0; overflow:hidden; border:1px solid #cbd8e8; border-radius:7px; background:#fff; }
.milestone-inline-library input,
.milestone-inline-library textarea { box-sizing:border-box; width:100%; min-width:0; border:0; border-radius:0; color:#17375f; background:#fff; font:inherit; font-size:12px; }
.milestone-inline-library input { height:32px; padding:0 9px; }
.milestone-inline-library textarea { min-height:62px; padding:8px 9px; line-height:1.45; resize:vertical; }
.milestone-inline-library input:focus,
.milestone-inline-library textarea:focus,
.milestone-inline-library select:focus { outline:0; }
.milestone-inline-library:focus-within { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.milestone-library-picker { width:76px; height:100%; min-height:32px; border-left:1px solid #d8e2ef; color:#1761dc !important; background:#edf4ff !important; font-size:11px; font-weight:850; }
.milestone-plain-input textarea { box-sizing:border-box; width:100%; min-height:62px; padding:8px 9px; border:1px solid #cbd8e8; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:12px; line-height:1.45; resize:vertical; }
.milestone-plain-input textarea:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.milestone-reward-control { display:grid; grid-template-columns:30px minmax(0,1fr); overflow:hidden; border:1px solid #cbd8e8; border-radius:7px; background:#fff; }
.milestone-reward-control > span { display:grid; place-items:center; color:#a10d12; background:#fff7e9; font-size:13px; font-weight:900; }
.milestone-reward-control input { height:32px; border:0; border-left:1px solid #e7d6c0; border-radius:0; }
.milestone-reward-control:focus-within { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.milestone-textarea-editor { align-items:start; }
.milestone-textarea-editor > label { padding-top:9px; }
.milestone-config-panel .incentive-config-head { display:grid; grid-template-columns:1fr; gap:9px; }
.milestone-config-panel .incentive-config-title { white-space:nowrap; }
.milestone-config-panel .incentive-config-actions { display:flex; flex-wrap:wrap; width:100%; }
.milestone-config-panel .incentive-config-actions button { min-width:0; padding-inline:6px; }
.milestone-preview-scroll { display:flex; justify-content:center; align-items:flex-start; max-height:none; padding:10px; overflow:auto; }
.milestone-preview-stage { position:relative; width:min(100%,calc((100vh - 182px) * .6666)); min-width:0; margin:0 auto; aspect-ratio:3543 / 5315; overflow:hidden; background:#780407; box-shadow:0 10px 24px rgba(74,4,8,.16); container-type:inline-size; }
.milestone-preview-stage > img { display:block; width:100%; height:100%; object-fit:contain; }
.milestone-overlay { box-sizing:border-box; color:#790a11; font-size:2.427cqw; font-weight:800; line-height:1.24; }
.milestone-overlay-topic { left:17.4%; top:9.45%; width:64%; height:7%; padding:.35% 1.2%; justify-content:center; color:#720a10; font-size:3.8547cqw; text-align:center; }
.milestone-overlay[class*="milestone-overlay-milestone"] { left:10.45%; width:56.2%; height:3.75%; padding:.25% .7%; }
.milestone-overlay-milestone1 { top:25.92%; }
.milestone-overlay-milestone2 { top:32.14%; }
.milestone-overlay-milestone3 { top:38.36%; }
.milestone-overlay-milestone4 { top:44.58%; }
.milestone-overlay-milestone5 { top:50.80%; }
.milestone-overlay-milestone6 { top:57.02%; }
.milestone-overlay-milestone7 { top:63.24%; }
.milestone-overlay-milestone8 { top:69.46%; }
.milestone-overlay-milestone9 { top:75.68%; }
.milestone-overlay-milestone10 { top:81.90%; }
.milestone-overlay[class*="milestone-overlay-reward"] { left:71.2%; width:8.4%; height:3.75%; padding:.2% .35%; justify-content:center; text-align:center; font-size:2.5698cqw; font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
.milestone-overlay-reward1 { top:25.92%; }
.milestone-overlay-reward2 { top:32.14%; }
.milestone-overlay-reward3 { top:38.36%; }
.milestone-overlay-reward4 { top:44.58%; }
.milestone-overlay-reward5 { top:50.80%; }
.milestone-overlay-reward6 { top:57.02%; }
.milestone-overlay-reward7 { top:63.24%; }
.milestone-overlay-reward8 { top:69.46%; }
.milestone-overlay-reward9 { top:75.68%; }
.milestone-overlay-reward10 { top:81.90%; }
.milestone-overlay-supplementalRules { left:26.4%; top:92.15%; width:45.5%; height:3%; padding:.15% .8%; align-items:flex-start; }
.milestone-overlay-signature { left:4.2%; top:91.85%; width:18.4%; height:4.8%; padding:.2% .55%; align-items:flex-start; }
.milestone-overlay-department { left:26.4%; top:17.76%; width:11%; height:2.55%; padding:.1% .2%; font-size:2.427cqw; white-space:nowrap; }
.milestone-overlay-period { left:47.6%; top:17.76%; width:33%; height:2.55%; padding:.1% .2%; font-size:2.213cqw; white-space:nowrap; }
.milestone-overlay-achieved-date { width:4.1%; height:3.76294%; padding:0; justify-content:center; text-align:center; white-space:nowrap; color:#790a11; font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-size:2.5698cqw; font-weight:800; font-variant-numeric:tabular-nums; line-height:1; }
.milestone-date-native-text { position:absolute; left:0; top:0; width:100%; line-height:1; text-align:center; white-space:nowrap; }
.milestone-date-baseline { display:inline-block; width:0; height:0; padding:0; margin:0; border:0; vertical-align:baseline; }
.milestone-overlay.fourb-overlay-auto-compact { font-size:2.069cqw; }
.milestone-overlay.fourb-overlay-auto-dense { font-size:1.6418cqw; }
.overproduction-config-panel .incentive-config-head { display:grid; grid-template-columns:1fr; gap:9px; }
.overproduction-config-panel .incentive-config-actions { display:flex; flex-wrap:wrap; width:100%; }
.overproduction-config-panel .incentive-config-actions button { min-width:0; padding-inline:6px; }
.overproduction-preset-control select { box-sizing:border-box; width:100%; min-width:0; height:34px; padding:0 8px; border:1px solid #9dbce8; border-radius:7px; color:#1761dc; background:#edf4ff; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.overproduction-preset-control select:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.overproduction-hunter-library { position:relative; min-width:0; }
.overproduction-hunter-library > summary { box-sizing:border-box; height:34px; padding:0 10px; display:flex; align-items:center; justify-content:space-between; list-style:none; border:1px solid #9dbce8; border-radius:7px; color:#1761dc; background:#edf4ff; font-size:11px; font-weight:850; cursor:pointer; }
.overproduction-hunter-library > summary::-webkit-details-marker { display:none; }
.overproduction-hunter-library > summary::after { content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.overproduction-hunter-library[open] > summary::after { transform:translateY(2px) rotate(225deg); }
.overproduction-hunter-library-panel { position:relative; z-index:2; width:100%; margin-top:5px; overflow:hidden; border:1px solid #bfd0e5; border-radius:9px; background:#f7faff; box-shadow:0 8px 20px rgba(13,42,82,.14); }
.overproduction-hunter-library-head { display:flex; align-items:center; justify-content:space-between; padding:8px 10px; color:#174f9f; background:#e5efff; font-size:12px; }
.overproduction-hunter-library-head button { padding:3px 8px; border:1px solid #f0b8b3; border-radius:6px; color:#cf4b43; background:#fff; font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.overproduction-hunter-library-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; max-height:260px; padding:7px; overflow:auto; }
.overproduction-hunter-library-options button { padding:6px 7px; border:0; border-radius:6px; color:#1761dc; background:transparent; font:inherit; font-size:11px; line-height:1.25; text-align:left; cursor:pointer; }
.overproduction-hunter-library-options button:hover,
.overproduction-hunter-library-options button.selected { background:#dfeaff; }
.overproduction-team-editor { padding-bottom:0; }
.overproduction-team-editor .incentive-team-award-row { grid-template-columns:minmax(0,1fr); gap:5px; }
.overproduction-team-editor .incentive-team-condition { grid-template-columns:64px minmax(0,1fr); }
.overproduction-level-editor { grid-template-columns:88px minmax(0,1fr); gap:6px 8px; padding:8px; border:1px solid #ead9b8; border-radius:9px; background:linear-gradient(105deg,#fffaf1,#fff); }
.overproduction-level-editor:last-child { padding-bottom:8px; border-bottom:1px solid #ead9b8; }
.overproduction-level-editor > label:first-child { grid-column:1; grid-row:1; }
.overproduction-level-editor > .incentive-slot-threshold { grid-column:2; grid-row:1; }
.overproduction-level-amount { grid-column:2; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; min-width:0; margin-left:20px; }
.overproduction-level-amount > span { color:#8d5c22; font-size:11px; font-weight:850; white-space:nowrap; }
.overproduction-level-amount input { box-sizing:border-box; width:100%; min-width:0; height:32px; padding:0 9px; border:1px solid #d8c29c; border-radius:7px; outline:0; color:#7b3f0b; background:#fff; appearance:textfield; font:inherit; font-size:12px; font-weight:800; }
.overproduction-level-amount input:focus { border-color:#c28738; box-shadow:0 0 0 3px rgba(194,135,56,.14); }
.overproduction-level-amount input::-webkit-outer-spin-button,
.overproduction-level-amount input::-webkit-inner-spin-button { margin:0; appearance:none; }
.overproduction-hero-entries-editor { padding-bottom:0; }
.overproduction-publicity-editor { min-width:0; }
.overproduction-publicity-editor-head,
.overproduction-publicity-editor-row { display:grid; grid-template-columns:28px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 28px; gap:5px; align-items:center; }
.overproduction-publicity-editor-head { padding:0 2px 6px; color:#536b87; font-size:11px; text-align:center; }
.overproduction-publicity-editor-head strong { color:#203957; font-weight:850; }
.overproduction-publicity-editor-body { display:grid; gap:5px; max-height:338px; overflow:auto; }
.overproduction-publicity-editor-row > span { color:#8090a4; font-size:10px; font-weight:800; text-align:center; }
.overproduction-publicity-editor-row input { box-sizing:border-box; width:100%; min-width:0; height:32px; padding:0 7px; border:1px solid #cbd8e8; border-radius:7px; color:#203957; background:#fff; font:inherit; font-size:12px; }
.overproduction-publicity-editor-row input:focus { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.overproduction-publicity-editor-row > button { display:grid; width:26px; height:26px; padding:0; place-items:center; border:1px solid #f0c4c0; border-radius:7px; color:#c34b45; background:#fff7f6; font:inherit; font-size:16px; font-weight:900; cursor:pointer; }
.overproduction-publicity-editor-row > button:hover { color:#fff; border-color:#d85b53; background:#d85b53; }
.overproduction-publicity-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding-left:32px; }
.overproduction-publicity-editor-actions span { color:#8090a4; font-size:10px; font-weight:750; }
.overproduction-publicity-editor-actions button { min-height:30px; padding:0 12px; border:1px solid #9dbce8; border-radius:7px; color:#1761dc; background:#edf4ff; font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.overproduction-publicity-editor-actions button:hover:not(:disabled) { color:#fff; background:#1761dc; }
.overproduction-publicity-editor-actions button:disabled { color:#9aa8b8; border-color:#d7e0ea; background:#f3f6f9; cursor:default; }
.overproduction-preview-scroll { display:flex; justify-content:center; align-items:flex-start; max-height:none; padding:10px; overflow:auto; }
.overproduction-preview-stage { position:relative; width:min(100%,calc((100vh - 182px) * 1.6666)); min-width:0; margin:0 auto; aspect-ratio:8858 / 5315; overflow:hidden; background:#8e0208; box-shadow:0 10px 24px rgba(74,4,8,.16); container-type:inline-size; }
.overproduction-preview-stage > img { display:block; width:100%; height:100%; object-fit:contain; }
.overproduction-member-markers { z-index:4; }
.overproduction-member-marker { border-color:rgba(121,10,17,.28); color:#111; background:#fff9e9; box-shadow:0 2px 7px rgba(75,0,0,.26); }
.overproduction-member-marker.is-avatar { border-color:#fff; background:#fff; }
.overproduction-member-marker:hover { border-color:#a20d15; }
.overproduction-overlay { box-sizing:border-box; color:#790a11; font-size:1.4071cqw; font-weight:850; line-height:1.25; }
.overproduction-overlay-topic { left:23.15%; top:15.9%; width:29.35%; height:8.75%; padding:.3% 1%; justify-content:center; text-align:center; font-size:2.1319cqw; }
.overproduction-overlay-period { left:22.75%; top:25.45%; width:22.4%; height:5.6%; padding:.15% .5%; justify-content:center; text-align:center; white-space:nowrap; font-size:1.4497cqw; }
.overproduction-publicity-cell { height:4.34%; padding:.08% .18%; justify-content:center; color:#790a11; text-align:center; white-space:nowrap; font-size:1.3218cqw; }
.overproduction-publicity-cell.is-name { left:2.11%; width:3.60%; }
.overproduction-publicity-cell.is-daily { left:5.72%; width:3.76%; }
.overproduction-publicity-cell.is-total { left:9.49%; width:3.70%; }
.overproduction-overlay-publicityUpdateDate { left:2.12%; top:88.54%; width:11.08%; height:5.05%; padding:.1% .35%; justify-content:center; color:#790a11; text-align:center; white-space:nowrap; font-size:1.4497cqw; }
.overproduction-overlay[class*="overproduction-overlay-level"][class*="Target"] { width:7.55%; height:4.7%; padding:.15% .35%; align-items:center; justify-content:center; text-align:center; white-space:nowrap; word-break:normal; font-size:1.5776cqw; }
.overproduction-overlay-level1Target { left:23.95%; top:50.25%; }
.overproduction-overlay-level2Target { left:32.30%; top:45.05%; }
.overproduction-overlay-level3Target { left:40.65%; top:39.48%; }
.overproduction-overlay-level4Target { left:48.95%; top:34.72%; }
.overproduction-overlay-level5Target { left:57.25%; top:29.42%; }
.overproduction-overlay[class*="overproduction-overlay-level"][class*="Amount"] { width:4.45%; height:3.2%; padding:.05% .1%; align-items:center; justify-content:center; font-size:1.3644cqw; text-align:center; white-space:nowrap; background:transparent !important; }
.overproduction-overlay-level1Amount { left:26.25%; top:77.65%; }
.overproduction-overlay-level2Amount { left:34.35%; top:77.65%; }
.overproduction-overlay-level3Amount { left:42.45%; top:77.65%; }
.overproduction-overlay-level4Amount { left:50.55%; top:77.65%; }
.overproduction-overlay-level5Amount { left:58.65%; top:77.65%; }
.overproduction-overlay-hunterMetric,
.overproduction-overlay-hunterRating,
.overproduction-overlay-hunterLimit { top:12.85%; height:8.55%; padding:.35%; justify-content:center; color:#8e171a; text-align:center; font-size:1.5989cqw; }
.overproduction-overlay-hunterMetric { left:67.95%; width:7.05%; }
.overproduction-overlay-hunterRating { left:79.1%; width:7.1%; }
.overproduction-overlay-hunterLimit { left:90.4%; width:7.1%; }
.overproduction-overlay-hunterMetric.has-content,
.overproduction-overlay-hunterRating.has-content,
.overproduction-overlay-hunterLimit.has-content { background:#f3cabc; }
.overproduction-overlay-hunterAward { left:69.8%; top:24.25%; width:25.5%; height:3.4%; padding:.05% .3%; align-items:center; justify-content:center; color:#8e171a; text-align:center; font-size:1.535cqw; }
.overproduction-overlay-hunterRules { left:72.65%; top:35.15%; width:22.8%; height:5.1%; padding:.15% .4%; align-items:flex-start; font-size:1.3218cqw; }
.overproduction-overlay-teamAward { left:67.15%; top:47.1%; width:29.25%; height:14.2%; padding:.35% .65%; align-items:flex-start; color:#8e171a; font-size:1.535cqw; line-height:1.75; white-space:pre-line; }
.overproduction-overlay-heroEntries { left:65.48%; top:75.5%; width:33.70%; height:11.5%; display:block; padding:0; border:0; background:transparent; white-space:normal; }
.overproduction-hero-entry-grid { min-height:0; grid-template-columns:34.37% 31.02% 34.61%; }
.overproduction-hero-entry-grid .fourb-hero-entry { padding:0 5%; }
.overproduction-hero-entry-grid .fourb-hero-entry-date { color:#790a11; opacity:1; font-size:1.499cqw; font-weight:850; }
.overproduction-hero-entry-grid .fourb-hero-entry-name { font-size:1.8321cqw; }
.overproduction-hero-entry-grid .fourb-hero-entry-score { font-size:1.6656cqw; }
.overproduction-overlay-otherRules { left:40.55%; top:91.75%; width:23.35%; height:5.8%; padding:.15% .4%; align-items:flex-start; font-size:1.3218cqw; }
.overproduction-overlay.fourb-overlay-auto-compact { font-size:1.2365cqw; }
.overproduction-overlay.fourb-overlay-auto-dense { font-size:.9807cqw; }

.yearend-workspace { grid-template-columns:minmax(320px,360px) minmax(0,1fr); align-items:start; }
.yearend-config-panel .incentive-config-head { display:grid; gap:10px; }
.yearend-config-panel .incentive-config-actions { display:flex; flex-wrap:wrap; width:100%; }
.yearend-config-panel .incentive-config-actions button { min-width:0; padding-inline:7px; }
.yearend-number-control { display:flex; align-items:center; overflow:hidden; min-height:42px; border:1px solid #bfd0e5; border-radius:9px; background:#fff; }
.yearend-number-control:focus-within { border-color:#6b9ce5; box-shadow:0 0 0 3px rgba(23,97,220,.12); }
.yearend-number-control input { box-sizing:border-box; width:100%; min-width:0; height:40px; padding:0 11px; border:0; outline:0; color:#102e55; background:transparent; font:inherit; font-weight:750; }
.yearend-number-control span { align-self:stretch; display:flex; align-items:center; padding:0 11px; border-left:1px solid #d8e2ef; color:#1761dc; background:#edf4ff; font-weight:850; }
.yearend-preview-card { min-width:0; }
.yearend-preview-scroll { max-height:calc(100vh - 180px); padding:10px; overflow:auto; background:#eef4fb; }
.yearend-preview-stage { box-sizing:border-box; width:min(100%,1060px); min-width:620px; margin:0 auto; padding:20px; border:1px solid #d6e2ef; border-radius:14px; color:#173b67; background:#f6f9fd; box-shadow:0 10px 28px rgba(17,56,96,.13); }
.yearend-board-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; border-radius:12px; color:#fff; background:linear-gradient(120deg,#153a66,#1761dc); }
.yearend-board-head > div { display:flex; align-items:baseline; gap:12px; }
.yearend-board-head span { font-size:24px; font-weight:900; }
.yearend-board-head small { color:#d9e8fb; }
.yearend-board-head > strong { font-size:18px; }
.yearend-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.yearend-kpi-grid > div { display:flex; flex-direction:column; gap:6px; min-width:0; padding:13px 15px; border:1px solid #d6e2ef; border-radius:11px; background:#fff; }
.yearend-kpi-grid > div.is-primary { border-color:#a6d78c; background:linear-gradient(135deg,#f3fbef,#e5f7dc); }
.yearend-kpi-grid span { color:#708399; font-size:12px; font-weight:750; }
.yearend-kpi-grid strong { overflow:hidden; color:#153a66; font-size:22px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.yearend-kpi-grid .is-primary strong { color:#23771d; }
.yearend-kpi-grid small { overflow:hidden; color:#8797aa; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.yearend-board-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:12px; margin-top:12px; }
.yearend-board-grid > * { box-sizing:border-box; min-width:0; max-width:100%; }
.yearend-formula-card,.yearend-coefficient-card,.yearend-scenario-card { overflow:hidden; border:1px solid #d6e2ef; border-radius:11px; background:#fff; }
.yearend-formula-card h3,.yearend-coefficient-card h3 { margin:0; padding:13px 15px; border-bottom:1px solid #e3eaf2; font-size:16px; }
.yearend-formula-table { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.yearend-formula-table > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border-bottom:1px solid #edf1f6; }
.yearend-formula-table > div:nth-child(odd) { border-right:1px solid #edf1f6; }
.yearend-formula-table > div.is-result { color:#23771d; background:#eef9e8; }
.yearend-formula-table span { color:#697e95; font-size:12px; }
.yearend-formula-table strong { color:inherit; font-size:13px; }
.yearend-coefficient-card table,.yearend-scenario-card table { width:100%; border-collapse:collapse; table-layout:fixed; }
.yearend-coefficient-card table { min-width:0; max-width:100%; }
.yearend-coefficient-card .yearend-coefficient-range-col { width:62%; }
.yearend-coefficient-card .yearend-coefficient-value-col { width:38%; }
.yearend-coefficient-card th,.yearend-coefficient-card td,.yearend-scenario-card th,.yearend-scenario-card td { padding:8px 10px; border-bottom:1px solid #e7edf4; text-align:right; font-size:12px; }
.yearend-coefficient-card th,.yearend-coefficient-card td { overflow:hidden; box-sizing:border-box; text-overflow:ellipsis; white-space:nowrap; }
.yearend-coefficient-card th:first-child,.yearend-coefficient-card td:first-child,.yearend-scenario-card th:first-child,.yearend-scenario-card td:first-child { text-align:left; }
.yearend-coefficient-card tr.active td { color:#23771d; background:#eef9e8; font-weight:850; }
.yearend-scenario-card { margin-top:12px; overflow:hidden; }
.yearend-section-title { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid #e3eaf2; }
.yearend-section-title h3,.yearend-section-title p { margin:0; }
.yearend-section-title h3 { font-size:16px; }
.yearend-section-title p { margin-top:3px; color:#8191a5; font-size:10px; }
.yearend-section-title > span { color:#1761dc; font-size:12px; font-weight:850; }
.yearend-scenario-card tr.highlight td { color:#23771d; background:#eef9e8; font-weight:850; }
.yearend-principles { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:12px; padding:12px 15px; border:1px solid #d7e6c9; border-radius:10px; background:#f3f9ee; font-size:11px; }
.yearend-principles strong { color:#23771d; }
.yearend-principles span { color:#667a6b; }
.bet-config-panel .incentive-config-head { display:grid; grid-template-columns:1fr; gap:9px; }
.bet-config-panel .incentive-config-actions { display:flex; flex-wrap:wrap; width:100%; }
.bet-config-panel .incentive-config-actions button { min-width:0; padding-inline:6px; }
.bet-shared-target-editor { align-items:start; }
.bet-shared-target-editor > label { padding-top:7px; }
.bet-shared-target-control { display:grid; grid-template-columns:84px minmax(0,1fr); overflow:hidden; border:1px solid #cbd8e8; border-radius:7px; background:#fff; }
.bet-shared-target-control > div { display:grid; align-content:center; gap:1px; padding:3px 7px; color:#174f9f; background:#f2f6fc; font-size:10px; font-weight:800; line-height:1.25; }
.bet-shared-target-control input,
.bet-target-control input,
.bet-odds-control input { box-sizing:border-box; width:100%; min-width:0; height:34px; padding:0 9px; border:0; border-left:1px solid #dce5f1; border-radius:0; color:#17375f; background:#fff; font:inherit; font-size:12px; }
.bet-shared-target-control:focus-within,
.bet-target-control:focus-within,
.bet-odds-control:focus-within { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.bet-target-control,
.bet-odds-control { display:grid; grid-template-columns:46px minmax(0,1fr); overflow:hidden; border:1px solid #cbd8e8; border-radius:7px; background:#fff; }
.bet-target-control > span,
.bet-odds-control > span { display:grid; place-items:center; color:#174f9f; background:#f2f6fc; font-size:11px; font-weight:850; }
.bet-odds-control { grid-template-columns:42px minmax(0,1fr); }
.bet-odds-editor { margin-top:-3px; padding-left:16px; }
.bet-odds-editor label { color:#6d7c90; font-size:11px; }
.bet-wager-editor { display:grid; min-width:0; gap:7px; overflow:hidden; padding:1px 0 3px; }
.bet-wager-editor-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bet-wager-editor-head > div { display:grid; gap:2px; }
.bet-wager-editor-head strong { color:#17375f; font-size:12px; }
.bet-wager-editor-head small { color:#7b899a; font-size:9px; }
.bet-wager-editor-head button { flex:0 0 auto; min-height:28px; padding:0 7px; border:1px solid #8db0e4; border-radius:7px; color:#1761dc; background:#edf4ff; font-size:10px; font-weight:850; white-space:nowrap; cursor:pointer; }
.bet-wager-editor-head button:disabled { opacity:.45; cursor:not-allowed; }
.bet-wager-column-head,
.bet-wager-row { display:grid; grid-template-columns:minmax(54px,1fr) minmax(68px,1fr) 24px; gap:6px; align-items:center; }
.bet-wager-column-head { padding:0 3px; color:#77869a; font-size:9px; font-weight:750; }
.bet-wager-rows { display:grid; gap:6px; }
.bet-wager-row > input,
.bet-wager-amount { box-sizing:border-box; width:100%; min-width:0; height:32px; border:1px solid #cbd8e8; border-radius:7px; color:#17375f; background:#fff; font:inherit; font-size:11px; }
.bet-wager-row > input { padding:0 7px; }
.bet-wager-amount { display:grid; grid-template-columns:18px minmax(0,1fr); overflow:hidden; }
.bet-wager-amount > span { display:grid; place-items:center; color:#174f9f; background:#f2f6fc; font-size:10px; font-weight:800; }
.bet-wager-amount input { box-sizing:border-box; width:100%; min-width:0; height:30px; padding:0 5px; border:0; border-left:1px solid #dce5f1; color:#17375f; background:#fff; font:inherit; font-size:11px; }
.bet-wager-row > input:focus,
.bet-wager-amount:focus-within { outline:3px solid rgba(23,97,220,.13); border-color:#6b9ce5; }
.bet-wager-remove { display:grid; width:24px; height:28px; padding:0; place-items:center; border:1px solid #e5b8b8; border-radius:7px; color:#bc3030; background:#fff4f4; font-size:16px; font-weight:800; cursor:pointer; }
.bet-preview-scroll { display:flex; justify-content:center; align-items:flex-start; max-height:none; padding:10px; overflow:auto; }
.bet-preview-stage { position:relative; width:min(100%,calc((100vh - 182px) * 1.5)); min-width:0; margin:0 auto; aspect-ratio:5315 / 3543; overflow:hidden; background:#a80007; box-shadow:0 10px 24px rgba(74,4,8,.16); container-type:inline-size; }
.bet-preview-stage > img { display:block; width:100%; height:100%; object-fit:contain; }
.bet-overlay { box-sizing:border-box; color:#151515; font-size:1.4497cqw; font-weight:850; line-height:1.2; }
.bet-overlay-department { left:20.83%; top:27.60%; width:9.43%; height:2.4%; padding:0 .2%; justify-content:center; text-align:center; white-space:nowrap; }
.bet-overlay-bettor { left:40.36%; top:27.60%; width:9.38%; height:2.4%; padding:0 .2%; justify-content:center; text-align:center; white-space:nowrap; }
.bet-overlay-betAmount { left:40.36%; top:35.20%; width:9.38%; height:2.4%; padding:0 .2%; justify-content:center; text-align:center; white-space:nowrap; }
.bet-overlay-metric { left:20.83%; top:35.20%; width:9.43%; height:2.4%; padding:0 .2%; justify-content:center; text-align:center; white-space:nowrap; }
.bet-overlay[class*="bet-overlay-target"] { left:22.50%; width:16.35%; padding:0 .2%; justify-content:center; text-align:center; white-space:nowrap; font-size:1.75cqw; font-weight:850; line-height:1; }
.bet-overlay-target1, .bet-overlay-odds1 { top:41.80%; height:3.2%; }
.bet-overlay-target2, .bet-overlay-odds2 { top:49.30%; height:3.2%; }
.bet-overlay-target3, .bet-overlay-odds3 { top:56.80%; height:3.2%; }
.bet-overlay-target4, .bet-overlay-odds4 { top:64.10%; height:3.2%; }
.bet-overlay-target5, .bet-overlay-odds5 { top:71.40%; height:3.2%; }
.bet-overlay[class*="bet-overlay-odds"] { left:40.36%; width:9.38%; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; padding:0; white-space:nowrap; font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-size:1.85cqw; font-weight:600; line-height:1; }
.bet-odds-left { text-align:right; }
.bet-odds-colon { text-align:center; }
.bet-odds-right { text-align:left; }
.bet-odds-whole { grid-column:1 / -1; width:100%; text-align:center; }
.bet-overlay[class*="bet-overlay-target"].fourb-overlay-auto-compact { font-size:1.7482cqw; line-height:1; }
.bet-overlay[class*="bet-overlay-target"].fourb-overlay-auto-dense { font-size:1.4923cqw; line-height:1; }
.bet-overlay[class*="bet-overlay-target"].fourb-overlay-auto-wrap { white-space:normal; }
.bet-overlay-period { left:20.83%; top:79.10%; width:7.40%; height:2.4%; padding:0 .1%; justify-content:center; text-align:center; white-space:nowrap; font-size:1.10cqw; }
.bet-overlay-payoutDate { left:42.20%; top:79.10%; width:7.45%; height:2.4%; padding:0 .1%; justify-content:center; text-align:center; white-space:nowrap; font-size:1.10cqw; }
.bet-overlay-period, .bet-overlay-payoutDate { font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-variant-numeric:tabular-nums; font-weight:850; line-height:1.2; }
.bet-overlay-wager { padding:0 .22%; justify-content:center; text-align:center; white-space:nowrap; color:#151515; font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-size:1.535cqw; font-weight:700; line-height:1; }
.bet-overlay-wager-bettor { left:64.68%; width:7.93%; }
.bet-overlay-wager-amount { left:77.24%; width:7.97%; }
.bet-overlay-wager.is-compact { font-size:1.3218cqw; }
.bet-overlay-wager.is-dense { font-size:1.1512cqw; }
.bet-overlay-supplementalRules { left:64.10%; top:76.80%; width:24.50%; height:13.50%; padding:.5% .6%; align-items:flex-start; color:#781113; font-size:1.5776cqw; font-weight:750; line-height:1.45; white-space:pre-wrap; }
.bet-overlay.fourb-overlay-auto-compact { font-size:1.2365cqw; }
.bet-overlay.fourb-overlay-auto-dense { font-size:.9807cqw; }
.incentive-company-name-editor { grid-column:1 / -1; }
.incentive-company-name { box-sizing:border-box; padding:0; justify-content:flex-end; text-align:right; white-space:nowrap; font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-weight:700; line-height:1.05; color:#f6dda5; background:transparent; }
.incentive-company-name-4b1p { left:1.2%; top:5.4%; width:12%; height:7%; font-size:3cqw; }
.incentive-company-name-milestone { left:2.5%; top:2%; width:23.2%; height:5.6%; font-size:5.6cqw; }
.incentive-company-name-overproduction { left:2%; top:3.6%; width:10%; height:6.4%; font-size:2.65cqw; }
.incentive-company-name-bet { left:1%; top:1.9%; width:9.8%; height:5%; font-size:2.35cqw; }
.incentive-placeholder { min-height: 420px; padding: 70px 30px; display: grid; place-items: center; align-content: center; text-align: center; background: linear-gradient(145deg, #fff, #f4f8fe); }
.incentive-placeholder > span { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 14px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #1761dc, #1aa69a); font-size: 15px; font-weight: 900; box-shadow: 0 12px 28px rgba(23,97,220,.2); }
.incentive-placeholder h3 { margin-bottom: 8px; font-size: 24px; }
.incentive-placeholder p { max-width: 520px; color: #6c7b90; }

@media (max-width: 1180px) {
  .incentive-workspace { grid-template-columns: 1fr; }
  .incentive-config-panel { position: static; max-height: none; }
  .incentive-config-scroll { min-height: 0; max-height: 620px; }
  .dashboard-hero { grid-template-columns: 1fr 1fr; }
  .dashboard-hero .diagnosis { grid-column: 1 / -1; min-height: auto; }
  .profit-equation { grid-template-columns: 1fr; }
  .equation-sign { margin:auto; }
  .cost-level-one { grid-template-columns: 1fr; }
  .cost-level-one-legend { width: 100%; }
  .cost-level-two-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-detail-grid { grid-template-columns: 1fr; }
  .dashboard-break-even-grid { grid-template-columns: 1fr; }
  .history-analysis-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .history-analysis-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { height:auto; position:static; }
  .sidebar-toggle { display:none; }
  .app-shell.sidebar-collapsed { grid-template-columns:1fr; }
  .app-shell.sidebar-collapsed .sidebar { padding:16px; opacity:1; overflow:visible; pointer-events:auto; transform:none; }
  .dashboard-hero { grid-template-columns: 1fr; }
  .dashboard-hero .diagnosis { grid-column:auto; }
  .config-summary, .history-head { align-items:flex-start; flex-direction:column; }
  .cost-level-two-grid { grid-template-columns: 1fr; }
  .optimization-tools-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .optimization-tools-grid { grid-template-columns: 1fr; }
  .history-analysis-controls { grid-template-columns: 1fr 1fr; }
  .history-analysis-presets { grid-column: 1/-1; }
}

@media (max-width: 700px) {
  .metric-score-overview-grid { grid-template-columns: 1fr; }
  .cost-management-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .history-search-box { flex-basis: 100%; }
  .history-filter-count { margin-left: 0; }
  .history-table-wrap { max-height: none; }
  .history-analysis-control-head,
  .history-analysis-section-head { align-items: flex-start; flex-direction: column; }
  .history-analysis-period-summary { justify-items: start; }
  .history-analysis-section-head > p { text-align: left; }
  .history-analysis-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-analysis-months-head { align-items: flex-start; }
  .history-analysis-rate-panel { overflow-x: auto; }
}

@media (max-width: 560px) {
  .actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .actions button { width:100%; }
  .history-badge { grid-column:1/-1; }
  .topbar.incentive-mode .cloud-status { grid-column:1/-1; width:100%; margin-right:0; }
  .topbar.incentive-mode .topbar-incentive-action { justify-content:center; }
  .incentive-config-actions { display:flex; flex-wrap:wrap; width:100%; }
  .history-date-filters { display: grid; grid-template-columns: 1fr auto 1fr; width: 100%; }
  .history-date-filters label { min-width: 0; }
  .history-date-filters input { width: 100%; }
  .history-state-filter, .history-filter-clear { flex: 1 1 auto; }
  .dashboard-hero { padding:20px; }
  .score-block .eyebrow { margin-bottom:14px; }
  .cost-row { grid-template-columns:1fr auto; }
  .cost-row em { grid-column:2; }
  .break-even-chart-panel, .cost-hierarchy-panel { padding: 16px; }
  .break-even-chart-head, .cost-hierarchy-head, .cost-level-two-head { align-items: flex-start; flex-direction: column; }
  .cost-level-one { grid-template-columns: 1fr; gap: 22px; padding: 16px; }
  .cost-level-one-legend { grid-template-columns: 1fr; }
  .metric-detail-section-head, .metric-detail-chart-head { align-items: flex-start; flex-direction: column; }
  .metric-detail-current { justify-items: start; text-align: left; }
  .metric-detail-chart { padding: 15px; }
  .metric-score-boundaries { height: 72px; }
  .metric-score-boundaries span { min-width: 68px; }
  .metric-score-boundaries strong { max-width: 74px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; }
  .metric-score-band-labels strong { font-size: 10px; }
  .metric-score-band-labels small { font-size: 8px; }
  .gsv-composition-chart { padding: 14px 8px 10px; }
  .gsv-composition-summary { display: grid; grid-template-columns: 1fr; }
  .gsv-composition-summary > span { min-width: 0; }
  .gsv-pie-label { font-size: 12px; }
  .gsv-pie-label.small { font-size: 8px; }
  .optimization-tools-panel { padding: 16px; }
  .optimization-tool-card { grid-template-columns: 42px 1fr; }
  .optimization-tool-icon { width: 42px; height: 42px; }
  .optimization-tool-link { grid-column: 2; }
  .history-analysis-controls { grid-template-columns: 1fr; }
  .history-analysis-presets { grid-column: auto; }
  .history-analysis-kpi-grid { grid-template-columns: 1fr; }
  .history-analysis-control-panel,
  .history-analysis-rate-panel,
  .history-analysis-comparison-panel,
  .history-analysis-metric-panel { padding: 15px; }
}

@media (max-width: 420px) {
  .metric-score-overview-card { grid-template-columns: 1fr; }
  .metric-score-overview-value { margin-top: 18px; }
}

/* V2.0.4 final cascade overrides */
.topbar[hidden] { display:none !important; }
.workspace.tool-header-compact { padding-top:12px; }
.sidebar { z-index:10000; overflow:visible; }
.sidebar-toggle { z-index:10020; }
.sidebar-account { z-index:10010; }
.sidebar-account-menu { z-index:10030; }
.brand { min-height:48px; gap:13px; }
.brand > div:last-child { display:flex; align-items:center; }
.brand-slogan { margin:0; gap:3px 9px; font-size:13.5px; line-height:1.25; }
.profit-tool-tabs { margin:0 0 18px; padding:7px; gap:0; }
.profit-tool-tabs-list { justify-content:flex-start; }
.profit-tool-tabs-list button { min-height:40px; padding-inline:19px; }
.fourb-preview-head > div.incentive-preview-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }

@media (max-width:980px) {
  .sidebar { z-index:auto; }
  .sidebar-account-menu { z-index:9000; }
  .workspace.tool-header-compact { padding-top:10px; }
}

@media (max-width:760px) {
  .fourb-preview-head { align-items:flex-start; flex-direction:column; }
  .fourb-preview-head > div.incentive-preview-actions { width:100%; justify-content:flex-start; }
}

/* V2.0.123 — 登录隔离与侧栏内账户菜单 */
body.login-wall-open { overflow:hidden; }
body.login-wall-open .app-shell { display:none; }
.login-wall { z-index:20000; }
.sidebar-account-menu {
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 8px);
  width:auto;
}

@media (max-width:980px) {
  .sidebar-account-menu {
    position:absolute;
    left:0;
    right:0;
    bottom:calc(100% + 8px);
    top:auto;
    width:auto;
  }
}

/* V2.0.126 — 登录页品牌与表单比例 */
.cb-login-page {
  grid-template-columns:minmax(360px,.76fr) minmax(620px,1.24fr);
}
.cb-brand-pane {
  padding-inline:clamp(30px,3.5vw,58px);
}
.cb-native-card {
  width:min(100%,480px);
}
.cb-brand-minimal {
  display:grid;
  justify-items:center;
  align-content:center;
  width:100%;
  max-width:none;
  text-align:center;
}
.cb-brand-minimal .login-wall-logo {
  width:132px;
  height:132px;
  margin:0 0 32px;
  border-radius:30px;
}
.cb-brand-minimal h1 {
  display:grid;
  gap:8px;
  max-width:500px;
  margin:0;
  font-size:clamp(34px,3.15vw,52px);
  line-height:1.22;
  letter-spacing:-1px;
}
.cb-brand-minimal h1 span {
  display:block;
}

@media (max-width:980px) {
  .cb-login-page { grid-template-columns:1fr; }
  .cb-brand-minimal {
    grid-template-columns:1fr;
    gap:0;
    justify-items:center;
    max-width:none;
    text-align:center;
  }
  .cb-brand-minimal .login-wall-logo {
    width:88px;
    height:88px;
    margin:0 0 18px;
    border-radius:22px;
  }
  .cb-brand-minimal h1 { font-size:clamp(27px,6vw,40px); }
}

@media (max-width:700px) {
  .business-tag-dialog-backdrop { padding: 10px; }
  .business-tag-dialog-head { padding: 18px; }
  .business-tag-dialog-head h3 { font-size: 18px; }
  .business-tag-form { grid-template-columns: 1fr; padding: 18px; }
  .business-tag-region-selects { grid-template-columns: 1fr; }
  .optimization-share-total { grid-template-columns: 1fr auto; }
  .optimization-share-total small { grid-column: 1 / -1; }
}

/* V2.0.204 — 管理员交付版利润提升工具 */
.nav button.nav-delivery-toolbox {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:4px 0;
  color:#f2ecff;
  border:1px solid rgba(190,164,255,.42);
  background:linear-gradient(100deg,rgba(73,74,174,.68),rgba(114,69,168,.58));
  box-shadow:0 8px 20px rgba(4,15,34,.2),inset 0 1px 0 rgba(255,255,255,.1);
}
.nav button.nav-delivery-toolbox::after {
  content:"交";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  color:#432d72;
  background:linear-gradient(135deg,#f5efff,#c5a8ff);
  font-size:12px;
  font-weight:900;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.nav button.nav-delivery-toolbox:hover,
.nav button.nav-delivery-toolbox.active {
  color:#fff;
  border-color:rgba(220,204,255,.88);
  background:linear-gradient(100deg,#4b5fd0,#8353bd);
}
.profit-tool-tabs.delivery-tool-tabs .profit-tool-tabs-list button.active {
  background:linear-gradient(100deg,#4b66d4,#8154bd);
  box-shadow:0 7px 16px rgba(81,70,177,.2);
}
.delivery-dashboard-hero {
  background:
    radial-gradient(circle at 87% 10%,rgba(143,103,219,.18),transparent 34%),
    linear-gradient(120deg,#f6f8ff,#f3edff);
}
.delivery-target-card {
  align-self:stretch;
  display:grid;
  align-content:center;
  gap:14px;
  min-width:min(100%,430px);
  padding:24px;
  border:1px solid rgba(95,84,190,.18);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 30px rgba(72,62,153,.1);
}
.delivery-target-card > small { color:#687795; font-weight:800; }
.delivery-target-card > div { display:grid; grid-template-columns:repeat(4,minmax(64px,1fr)); gap:8px; }
.delivery-target-card span { display:grid; gap:5px; padding:10px 7px; border-radius:11px; color:#66738b; background:#f4f1ff; text-align:center; font-size:12px; }
.delivery-target-card span strong { color:#40347d; font-size:20px; }
.delivery-target-card p { margin:0; color:#8290a5; font-size:12px; overflow-wrap:anywhere; }
.delivery-dashboard-kpis .dashboard-metric { min-height:128px; }
/* V2.0.206 — 交付版财务诊断：Sheet 独立配置、11项加权评分与平台切换。 */
.delivery-platform-dialog { max-width:600px; }
.delivery-platform-dialog .delivery-sheet-metadata-note { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:9px; color:#536d89; background:#f2f7fc; font-size:12px; line-height:1.5; }
.delivery-diagnostic-report { border-top:4px solid #4f63cf; background:linear-gradient(135deg,rgba(242,245,255,.92),rgba(255,255,255,.98) 54%,rgba(240,250,247,.9)); }
.delivery-diagnostic-overview { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; padding:18px 22px; border-radius:15px; color:#fff; background:linear-gradient(110deg,#2b5bb2,#3e6fd5 50%,#159b89); box-shadow:0 14px 30px rgba(32,82,159,.18); }
.delivery-diagnostic-overview.pending { background:linear-gradient(110deg,#6f7c92,#7e8ba0); }
.delivery-diagnostic-overview > div { display:flex; align-items:baseline; gap:10px; }
.delivery-diagnostic-overview small { font-size:13px; font-weight:800; }
.delivery-diagnostic-overview strong { font-size:42px; line-height:1; }
.delivery-diagnostic-overview span { padding:4px 9px; border-radius:999px; background:rgba(255,255,255,.18); font-weight:900; }
.delivery-diagnostic-overview p { margin:0; max-width:560px; color:rgba(255,255,255,.9); text-align:right; font-size:12px; line-height:1.6; }
.delivery-diagnostic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.delivery-diagnostic-card { display:grid; min-width:0; gap:8px; padding:18px 20px; border:1px solid #dce5f2; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 8px 22px rgba(25,51,91,.05); }
.delivery-diagnostic-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.delivery-diagnostic-card-head span { display:grid; width:31px; height:25px; place-items:center; border-radius:8px; color:#fff; background:linear-gradient(100deg,#4b66d4,#7652ba); font-size:11px; font-weight:900; }
.delivery-diagnostic-card-head small { padding:4px 8px; border-radius:999px; color:#7d6095; background:#f3edfa; font-size:10px; font-weight:800; }
.delivery-diagnostic-card h4 { margin:2px 0 0; color:#172d4b; font-size:16px; }
.delivery-diagnostic-value { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.delivery-diagnostic-value strong { color:#185bd5; font-size:clamp(27px,2.2vw,36px); line-height:1; letter-spacing:-.035em; }
.delivery-diagnostic-value em { flex:0 0 auto; color:#503e9a; font-size:16px; font-style:normal; font-weight:900; }
.delivery-diagnostic-card > em { color:#526982; font-size:11px; font-style:normal; font-weight:700; }
.delivery-diagnostic-card > p { margin:0; color:#738399; font-size:12px; line-height:1.45; }
.delivery-score-standards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid #e0e7f2; border-radius:9px; background:#f8fafc; }
.delivery-score-standards span { display:grid; gap:2px; padding:7px 5px; color:#4f6279; text-align:center; font-size:11px; }
.delivery-score-standards span + span { border-left:1px solid #e0e7f2; }
.delivery-score-standards b { color:#7b6aa0; font-size:10px; }
.delivery-standard-source { overflow:hidden; color:#8795a8; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-platform-insight { display:grid; gap:12px; margin-top:16px; padding:17px 19px; border:1px solid #d7e5e2; border-radius:14px; background:linear-gradient(135deg,#f5fbf9,#fbfcff); color:#4a6278; }
.delivery-platform-insight strong { color:#173e69; }
.delivery-platform-insight p { margin:5px 0 0; font-size:12px; line-height:1.6; }
.delivery-platform-insight dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.delivery-platform-insight dl div { padding:9px 11px; border-radius:9px; background:rgba(255,255,255,.9); }
.delivery-platform-insight dt { color:#73869a; font-size:10px; font-weight:800; }
.delivery-platform-insight dd { margin:4px 0 0; font-size:11px; line-height:1.5; }
.delivery-diagnostic-title-row { margin-bottom:16px; }
.delivery-report-heading { display:grid; gap:8px; min-width:0; }
.delivery-report-heading p { margin:0; color:#72849a; font-size:12px; }
.delivery-platform-switcher { display:flex; max-width:100%; gap:5px; overflow-x:auto; padding:3px; border:1px solid #d5e0ef; border-radius:11px; background:#f4f7fb; width:max-content; }
.delivery-platform-switcher button { flex:0 0 auto; min-height:38px; max-width:220px; padding:0 18px; overflow:hidden; border:0; border-radius:8px; color:#536b85; background:transparent; font:inherit; font-size:14px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.delivery-platform-switcher button:hover { color:#185fc9; background:#eaf2ff; }
.delivery-platform-switcher button.active { color:#fff; background:linear-gradient(100deg,#1767dc,#1aa28f); box-shadow:0 5px 14px rgba(28,95,178,.18); }
.delivery-headline-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.delivery-headline-grid article { position:relative; display:grid; min-height:138px; align-content:center; gap:8px; padding:20px 22px; overflow:hidden; border:1px solid #dbe4ef; border-radius:15px; background:#fff; box-shadow:0 9px 22px rgba(34,59,91,.07); }
.delivery-headline-grid article::before { content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:#246de5; }
.delivery-headline-grid article.passing::before { background:#14ae81; }
.delivery-headline-grid article.excellent::before { background:#7758e8; }
.delivery-headline-grid article.risk::before { background:#ee5263; }
.delivery-headline-grid article > span { color:#536a84; font-size:13px; font-weight:800; }
.delivery-headline-grid article > strong { color:#173b68; font-size:32px; line-height:1; }
.delivery-headline-grid article.passing > strong { color:#0aa977; }
.delivery-headline-grid article.excellent > strong { color:#7653e8; }
.delivery-headline-grid article.risk > strong { color:#e54258; }
.delivery-headline-grid article > strong small { margin-left:3px; font-size:13px; }
.delivery-headline-grid article p { margin:0; color:#8a98aa; font-size:11px; line-height:1.4; }
.delivery-group-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.delivery-group-summary > article { position:relative; display:grid; min-width:0; gap:9px; padding:18px; border:1px solid #dbe4ef; border-top:4px solid #246de5; border-radius:15px; background:#fff; box-shadow:0 9px 22px rgba(34,59,91,.06); }
.delivery-group-summary > article:nth-child(2) { border-top-color:#ee9210; }
.delivery-group-summary > article:nth-child(3) { border-top-color:#11ad83; }
.delivery-group-summary > article:nth-child(4) { border-top-color:#7457e8; }
.delivery-group-summary h4 { margin:0; color:#173653; font-size:15px; }
.delivery-group-summary div small { color:#91a0b3; font-size:9px; letter-spacing:.03em; }
.delivery-group-summary > article > strong { color:#175bc7; font-size:28px; line-height:1; }
.delivery-group-summary > article > strong small { color:#60748b; font-size:11px; }
.delivery-group-summary > article > p { margin:0; padding-bottom:9px; border-bottom:1px solid #edf1f6; color:#8493a5; font-size:10px; }
.delivery-group-summary ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.delivery-group-summary li { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px; border-radius:7px; background:#f7f9fc; color:#61728a; font-size:10px; }
.delivery-group-summary li span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.delivery-group-summary li b { flex:0 0 auto; }
.delivery-group-summary li b.excellent { color:#0aa977; }
.delivery-group-summary li b.passing { color:#d48600; }
.delivery-group-summary li b.risk { color:#e33e55; }
.delivery-group-summary li b.pending { color:#8a98aa; }
.delivery-metric-table-wrap { width:100%; max-width:100%; overflow:hidden; border:1px solid #dbe4ef; border-radius:13px; background:#fff; }
.delivery-metric-table { width:100%; min-width:0; table-layout:fixed; border-collapse:separate; border-spacing:0; color:#4e627a; font-size:11px; }
.delivery-metric-table th,.delivery-metric-table td { padding:10px 8px; border-right:1px solid #edf1f6; border-bottom:1px solid #e4eaf2; text-align:left; vertical-align:middle; }
.delivery-metric-table thead th { position:sticky; top:0; z-index:3; color:#54677f; background:#f6f8fb; text-align:center; vertical-align:middle; font-size:10px; line-height:1.35; white-space:normal; }
.delivery-metric-table thead th:nth-child(1) { width:15%; text-align:left; }
.delivery-metric-table thead th:nth-child(2) { width:6%; }
.delivery-metric-table thead th:nth-child(3) { width:9%; }
.delivery-metric-table thead th:nth-child(4) { width:6%; }
.delivery-metric-table thead th:nth-child(5),.delivery-metric-table thead th:nth-child(6),.delivery-metric-table thead th:nth-child(7) { width:8%; }
.delivery-metric-table thead th:nth-child(8),.delivery-metric-table thead th:nth-child(9) { width:20%; }
.delivery-metric-table tbody > tr:not(.delivery-metric-group-row) > th { color:#173856; font-size:12px; line-height:1.45; overflow-wrap:anywhere; white-space:normal; }
.delivery-metric-table tbody td:nth-child(2),.delivery-metric-table tbody td:nth-child(4),.delivery-metric-table tbody td:nth-child(5),.delivery-metric-table tbody td:nth-child(6),.delivery-metric-table tbody td:nth-child(7) { text-align:center; white-space:nowrap; }
.delivery-metric-table tbody td:nth-child(3) strong { display:block; color:#153e71; font-size:13px; }
.delivery-metric-table tbody td:nth-child(3) small { display:block; margin-top:3px; color:#8a98aa; font-size:9px; }
.delivery-metric-table tbody td:nth-child(8),.delivery-metric-table tbody td:nth-child(9) { text-align:center; line-height:1.5; overflow-wrap:anywhere; white-space:normal; }
.delivery-metric-table tbody td:nth-child(9) { color:#8795a7; }
.delivery-metric-group-row th { padding:9px 13px; color:#235cae; background:#eef4fc; }
.delivery-metric-group-row th strong { margin-right:10px; }
.delivery-metric-group-row th span { color:#71859c; font-size:10px; font-weight:500; }
.delivery-metric-order { display:inline-grid; width:25px; height:22px; margin-right:7px; place-items:center; border-radius:6px; color:#fff; background:#506bd2; font-size:9px; }
.delivery-metric-score { display:inline-grid; min-width:48px; min-height:26px; place-items:center; border-radius:7px; font-weight:900; }
.delivery-metric-score.excellent { color:#078b63; background:#dcf7ee; }
.delivery-metric-score.passing { color:#a96900; background:#fff0d4; }
.delivery-metric-score.risk { color:#d8364d; background:#ffe3e8; }
.delivery-metric-score.pending { color:#7d8998; background:#edf1f5; }
.delivery-standard-config { display:grid; gap:14px; }
.delivery-standard-page { border-top:4px solid #6d57c8; background:linear-gradient(135deg,rgba(245,246,255,.96),rgba(255,255,255,.99)); }
.delivery-standard-config-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid #dbe4ef; border-radius:12px; background:linear-gradient(135deg,#f2f6ff,#f5fbf9); }
.delivery-standard-config-head h4 { margin:0; color:#173b66; font-size:16px; }
.delivery-standard-config-head p { margin:4px 0 0; color:#72849a; font-size:11px; }
.delivery-standard-tabs { display:flex; width:max-content; max-width:100%; gap:5px; padding:4px; overflow-x:auto; border:1px solid #d6e1ef; border-radius:11px; background:#f3f6fa; }
.delivery-standard-tabs button { display:flex; align-items:center; gap:7px; min-height:35px; padding:0 14px; border:0; border-radius:8px; color:#5b6f87; background:transparent; font:inherit; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; }
.delivery-standard-tabs button span { display:grid; min-width:22px; height:19px; padding:0 5px; place-items:center; border-radius:999px; color:#74859a; background:#e5ebf3; font-size:9px; }
.delivery-standard-tabs button.active { color:#fff; background:linear-gradient(100deg,#1767dc,#1aa28f); }
.delivery-standard-tabs button.active span { color:#145b80; background:#fff; }
.delivery-standard-table-wrap { max-height:68vh; overflow:auto; border:1px solid #d6e0ec; border-radius:12px; background:#fff; }
.delivery-standard-table { min-width:2240px; border-collapse:separate; border-spacing:0; color:#52677f; font-size:10px; }
.delivery-standard-table.platforms { min-width:1540px; }
.delivery-standard-table caption { padding:10px 13px; color:#6f8196; background:#f7f9fc; text-align:left; font-size:11px; font-weight:800; }
.delivery-standard-table th,.delivery-standard-table td { min-width:94px; padding:6px; border-right:1px solid #e7edf4; border-bottom:1px solid #e2e9f1; text-align:center; vertical-align:middle; }
.delivery-standard-table thead th { position:sticky; z-index:4; color:#445b75; background:#eef3f9; white-space:nowrap; }
.delivery-standard-table thead tr:first-child th { top:0; }
.delivery-standard-table thead tr:nth-child(2) th { top:31px; }
.delivery-standard-table tbody th { position:sticky; left:0; z-index:2; min-width:110px; max-width:150px; color:#173b62; background:#f8fafc; text-align:left; }
.delivery-standard-table.level2 tbody th:nth-child(2) { position:static; color:#3e5d7b; background:#fbfcfe; }
.delivery-standard-table input { width:82px; min-height:30px; padding:0 6px; border:1px solid #ccd9e7; border-radius:6px; color:#173b62; background:#fbfdff; text-align:right; font:inherit; font-size:10px; }
.delivery-standard-table textarea { width:210px; min-height:44px; padding:6px 7px; resize:vertical; border:1px solid #ccd9e7; border-radius:6px; color:#425b75; background:#fbfdff; font:inherit; font-size:10px; line-height:1.35; }
.delivery-standard-table.platforms textarea { width:230px; }
.delivery-standard-table input:focus,.delivery-standard-table textarea:focus { border-color:#2873dd; outline:2px solid rgba(40,115,221,.12); }
.delivery-platform-dialog .business-tag-form { grid-template-columns:1fr; }
.delivery-break-even-section .break-even-point.is-target circle,
.delivery-break-even-section .pricing-multiple-point.is-target circle { fill:#7350be; }

.delivery-ogsm-page { display:grid; gap:16px; color:#1c3554; }
.delivery-ogsm-head { position:relative; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:24px 26px; overflow:hidden; border:1px solid #cad8ed; border-radius:18px; background:linear-gradient(120deg,#123c83 0%,#245fc1 46%,#168f8d 100%); box-shadow:0 14px 32px rgba(23,69,132,.16); color:#fff; }
.delivery-ogsm-head::after { content:""; position:absolute; right:-70px; bottom:-110px; width:310px; height:250px; border:42px solid rgba(255,255,255,.07); border-radius:50%; pointer-events:none; }
.delivery-ogsm-head > * { position:relative; z-index:1; }
.delivery-ogsm-head .eyebrow { margin:0 0 6px; color:#c9ddff; font-size:11px; font-weight:900; letter-spacing:.08em; }
.delivery-ogsm-head h3 { margin:0; font-size:25px; line-height:1.25; }
.delivery-ogsm-head p:not(.eyebrow) { margin:7px 0 0; color:rgba(255,255,255,.78); font-size:12px; }
.delivery-ogsm-head-actions { display:flex; max-width:54%; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.delivery-ogsm-head-actions .ghost-button,.delivery-ogsm-head-actions label { min-height:38px; border-color:rgba(255,255,255,.3); color:#fff; background:rgba(255,255,255,.12); cursor:pointer; }
.delivery-ogsm-head-actions .ghost-button:hover,.delivery-ogsm-head-actions label:hover { background:rgba(255,255,255,.2); }
.delivery-ogsm-source { max-width:280px; overflow:hidden; padding:7px 10px; border-radius:8px; color:#d9e8ff; background:rgba(8,35,83,.28); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-module-switch { display:flex; width:100%; max-width:100%; align-items:center; gap:5px; padding:5px; overflow:auto; border:1px solid #d2deed; border-radius:13px; background:#fff; box-shadow:0 6px 18px rgba(31,65,108,.07); }
.delivery-ogsm-module-switch button,.delivery-ogsm-child-switch button { min-height:40px; padding:0 22px; border:0; border-radius:9px; color:#5d7088; background:transparent; font:inherit; font-size:13px; font-weight:850; white-space:nowrap; cursor:pointer; }
.delivery-ogsm-module-switch button:hover,.delivery-ogsm-child-switch button:hover { color:#175fc3; background:#eef5ff; }
.delivery-ogsm-module-switch button.active,.delivery-ogsm-child-switch button.active { color:#fff; background:linear-gradient(100deg,#1c65d8,#18a08d); box-shadow:0 7px 15px rgba(31,99,188,.18); }
.delivery-ogsm-module-switch button { display:flex; flex:0 0 auto; align-items:center; gap:7px; }
.delivery-ogsm-module-switch button i { display:grid; width:20px; height:20px; place-items:center; border-radius:6px; color:#526e91; background:#e9eff7; font-size:8px; font-style:normal; }
.delivery-ogsm-module-switch button.active i { color:#17618e; background:#fff; }
.delivery-ogsm-module-label { flex:0 0 auto; padding:0 9px 0 14px; border-left:1px solid #dce4ee; color:#314f73; font-size:12px; font-weight:900; white-space:nowrap; }
.delivery-ogsm-context-switch { display:flex; width:max-content; max-width:100%; gap:4px; padding:4px; overflow:auto; border:1px solid #d5dfeb; border-radius:11px; background:#f3f6fa; }
.delivery-ogsm-context-switch button { min-height:36px; padding:0 17px; border:0; border-radius:8px; color:#61758c; background:transparent; font:inherit; font-size:11px; font-weight:850; white-space:nowrap; cursor:pointer; }
.delivery-ogsm-context-switch button:hover { color:#175fc3; background:#eaf2fd; }
.delivery-ogsm-context-switch button.active { color:#fff; background:linear-gradient(100deg,#1c65d8,#18a08d); box-shadow:0 5px 12px rgba(31,99,188,.16); }
.delivery-ogsm-tracking,.delivery-ogsm-company,.delivery-ogsm-children { display:grid; gap:16px; }
.delivery-ogsm-dashboard-hero { display:grid; grid-template-columns:1fr 1.15fr 1.5fr; gap:1px; overflow:hidden; border:1px solid #cad8e8; border-radius:15px; background:#d9e3ef; box-shadow:0 8px 22px rgba(31,61,96,.06); }
.delivery-ogsm-dashboard-hero > div { display:grid; min-width:0; align-content:center; gap:6px; padding:18px 22px; background:#fff; }
.delivery-ogsm-dashboard-hero span { color:#72859b; font-size:11px; font-weight:850; }
.delivery-ogsm-dashboard-hero strong { overflow:hidden; color:#183e72; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-dashboard-hero strong i { margin:0 6px; color:#8ca0b6; font-size:11px; font-style:normal; }
.delivery-ogsm-dashboard-hero .overall { grid-template-columns:auto 1fr; align-items:center; background:linear-gradient(135deg,#f2f7ff,#f2fbf8); }
.delivery-ogsm-dashboard-hero .overall > span { grid-column:1/-1; }
.delivery-ogsm-dashboard-hero .overall > strong { color:#145bd1; font-size:28px; }
.delivery-ogsm-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.delivery-ogsm-kpis article { position:relative; display:grid; min-height:112px; align-content:center; gap:5px; padding:17px 18px; overflow:hidden; border:1px solid #dbe4ef; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(29,57,91,.055); }
.delivery-ogsm-kpis article::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#2a6ddd; }
.delivery-ogsm-kpis article.complete::before { background:#11a978; }
.delivery-ogsm-kpis article.progressing::before { background:#2a72db; }
.delivery-ogsm-kpis article.idle::before { background:#8c99aa; }
.delivery-ogsm-kpis article.overdue::before { background:#e64958; }
.delivery-ogsm-kpis article.incomplete::before { background:#e69a22; }
.delivery-ogsm-kpis span { color:#62768d; font-size:11px; font-weight:850; }
.delivery-ogsm-kpis strong { color:#173f70; font-size:28px; line-height:1; }
.delivery-ogsm-kpis small { color:#96a2b1; font-size:9px; }
.delivery-ogsm-block { min-width:0; padding:18px; border:1px solid #d7e1ed; border-radius:15px; background:#fff; box-shadow:0 8px 22px rgba(27,56,91,.055); }
.delivery-ogsm-block-title { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:14px; margin-bottom:15px; }
.delivery-ogsm-block-title h4 { margin:0; color:#173d6a; font-size:16px; }
.delivery-ogsm-block-title p { margin:4px 0 0; color:#8392a5; font-size:10px; }
.delivery-ogsm-block-title > strong,.delivery-ogsm-block-title > span { flex:0 0 auto; padding:6px 10px; border-radius:999px; color:#285f9e; background:#edf4fc; font-size:10px; }
.delivery-ogsm-strategy-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.delivery-ogsm-strategy-grid article { display:grid; min-width:0; gap:13px; padding:15px; border:1px solid #dae4ee; border-top:4px solid #e14958; border-radius:13px; background:linear-gradient(150deg,#fff,#fbfcfe); }
.delivery-ogsm-strategy-grid article.yellow { border-top-color:#e6a02b; }
.delivery-ogsm-strategy-grid article.green { border-top-color:#0fa779; }
.delivery-ogsm-strategy-grid header { display:flex; min-width:0; align-items:flex-start; gap:9px; }
.delivery-ogsm-strategy-grid header > span { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border-radius:8px; color:#fff; background:#315fa1; font-size:9px; font-weight:900; }
.delivery-ogsm-strategy-grid header div { min-width:0; flex:1; }
.delivery-ogsm-strategy-grid h5 { margin:0; color:#173c68; font-size:13px; }
.delivery-ogsm-strategy-grid header p { display:-webkit-box; min-height:30px; margin:4px 0 0; overflow:hidden; color:#74869b; font-size:10px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.delivery-ogsm-strategy-grid header > b { flex:0 0 auto; padding:4px 7px; border-radius:999px; color:#fff; background:#df4354; font-size:9px; }
.delivery-ogsm-strategy-grid article.yellow header > b { color:#755000; background:#ffd776; }
.delivery-ogsm-strategy-grid article.green header > b { background:#0fa779; }
.delivery-ogsm-strategy-grid dl { display:grid; grid-template-columns:repeat(3,1fr); margin:0; overflow:hidden; border-radius:8px; background:#f3f6fa; }
.delivery-ogsm-strategy-grid dl div { padding:7px; text-align:center; }
.delivery-ogsm-strategy-grid dl div + div { border-left:1px solid #e0e7ef; }
.delivery-ogsm-strategy-grid dt { color:#8493a4; font-size:8px; }
.delivery-ogsm-strategy-grid dd { margin:3px 0 0; color:#21466f; font-size:14px; font-weight:900; }
.delivery-ogsm-strategy-grid article > button { min-height:32px; border:1px solid #d4dfeb; border-radius:8px; color:#2364ba; background:#f5f9ff; font:inherit; font-size:10px; font-weight:850; cursor:pointer; }
.delivery-ogsm-progress { display:grid; min-width:0; grid-template-columns:minmax(60px,1fr) auto; align-items:center; gap:9px; }
.delivery-ogsm-progress > span { height:9px; overflow:hidden; border-radius:999px; background:#e6edf5; box-shadow:inset 0 1px 2px rgba(25,52,86,.08); }
.delivery-ogsm-progress > span i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2581e6,#13ae8d); transition:width .25s ease; }
.delivery-ogsm-progress > b { min-width:41px; color:#1f5eaa; text-align:right; font-size:10px; }
.delivery-ogsm-progress.compact { min-width:105px; gap:6px; }
.delivery-ogsm-progress.compact > span { height:7px; }
.delivery-ogsm-progress.compact > b { min-width:34px; font-size:9px; }
.delivery-ogsm-insight-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:16px; }
.delivery-ogsm-priority-list,.delivery-ogsm-owner-list { display:grid; max-height:330px; gap:8px; overflow:auto; }
.delivery-ogsm-priority-list article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border-radius:10px; background:#f7f9fc; }
.delivery-ogsm-priority-list article div { min-width:0; }
.delivery-ogsm-priority-list article strong { display:block; overflow:hidden; color:#294967; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-priority-list article small { display:block; margin-top:3px; color:#8b99aa; font-size:9px; }
.delivery-ogsm-priority-list article > b { color:#d74652; font-size:9px; white-space:nowrap; }
.delivery-ogsm-owner-list article { display:grid; grid-template-columns:minmax(90px,.7fr) 1fr; align-items:center; gap:12px; padding:9px 10px; border-radius:9px; background:#f7f9fc; }
.delivery-ogsm-owner-list article strong { display:block; color:#274966; font-size:11px; }
.delivery-ogsm-owner-list article small { display:block; margin-top:2px; color:#8b99aa; font-size:8px; }
.delivery-ogsm-filter-tabs { display:flex; max-width:100%; gap:4px; overflow:auto; }
.delivery-ogsm-filter-tabs button { display:flex; min-height:30px; align-items:center; gap:5px; padding:0 9px; border:1px solid #d9e2ed; border-radius:8px; color:#62758c; background:#fff; font:inherit; font-size:9px; font-weight:800; white-space:nowrap; cursor:pointer; }
.delivery-ogsm-filter-tabs button b { display:grid; min-width:17px; height:17px; place-items:center; border-radius:999px; background:#edf2f8; font-size:8px; }
.delivery-ogsm-filter-tabs button.active { border-color:#2468ce; color:#fff; background:#2468ce; }
.delivery-ogsm-filter-tabs button.active b { color:#235ca7; background:#fff; }
.delivery-ogsm-table-wrap { max-width:100%; max-height:68vh; overflow:auto; border:1px solid #d8e1eb; border-radius:11px; background:#fff; }
.delivery-ogsm-table-wrap table { width:100%; border-collapse:separate; border-spacing:0; color:#526a82; font-size:10px; }
.delivery-ogsm-table-wrap th,.delivery-ogsm-table-wrap td { padding:8px 9px; border-right:1px solid #e7ecf2; border-bottom:1px solid #e2e8ef; vertical-align:middle; }
.delivery-ogsm-table-wrap thead th { position:sticky; top:0; z-index:4; color:#425c77; background:#edf3fa; text-align:center; white-space:nowrap; }
.delivery-ogsm-table-wrap.compact table { min-width:960px; }
.delivery-ogsm-table-wrap.compact tbody td:nth-child(2) { max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-table-wrap.compact tbody td:not(:nth-child(2)) { text-align:center; white-space:nowrap; }
.delivery-ogsm-status { display:inline-grid; min-width:54px; min-height:23px; padding:0 7px; place-items:center; border-radius:999px; color:#6d7b8c; background:#edf1f5; font-size:8px; font-weight:900; white-space:nowrap; }
.delivery-ogsm-status.complete { color:#077f5a; background:#dff7ef; }
.delivery-ogsm-status.progressing { color:#1e60b4; background:#e3efff; }
.delivery-ogsm-status.overdue { color:#cb3446; background:#ffe4e8; }
.delivery-ogsm-status.scheduled { color:#6b6295; background:#eeeafb; }
.delivery-ogsm-status.incomplete { color:#a76b00; background:#fff0d4; }
.delivery-ogsm-empty { padding:24px!important; color:#8c9bad; text-align:center!important; font-size:11px; }
.delivery-ogsm-company-core { display:grid; grid-template-columns:1fr 1.5fr 1.5fr 2fr; gap:12px; }
.delivery-ogsm-company-core label,.delivery-ogsm-statistic-date { display:grid; gap:6px; color:#60758b; font-size:10px; font-weight:850; }
.delivery-ogsm-company-core input,.delivery-ogsm-company-core textarea,.delivery-ogsm-statistic-date input { width:100%; min-height:40px; padding:8px 10px; resize:vertical; border:1px solid #cedae8; border-radius:8px; color:#263f5a; background:#fbfdff; font:inherit; font-size:11px; line-height:1.45; }
.delivery-ogsm-statistic-date { grid-template-columns:auto 136px; align-items:center; }
.delivery-ogsm-table-wrap.company table { min-width:1900px; }
.delivery-ogsm-table-wrap.company textarea,.delivery-ogsm-table-wrap.company input,.delivery-ogsm-table-wrap.company select,
.delivery-ogsm-table-wrap.child textarea,.delivery-ogsm-table-wrap.child input,.delivery-ogsm-table-wrap.child select { width:100%; min-height:33px; padding:6px 7px; resize:vertical; border:1px solid #d1dce8; border-radius:6px; color:#314c68; background:#fbfdff; font:inherit; font-size:9px; line-height:1.4; }
.delivery-ogsm-table-wrap.company td:nth-child(2),.delivery-ogsm-table-wrap.company td:nth-child(3) { min-width:265px; }
.delivery-ogsm-table-wrap.company td:nth-child(4),.delivery-ogsm-table-wrap.company td:nth-child(5),.delivery-ogsm-table-wrap.company td:nth-child(6) { min-width:88px; }
.delivery-ogsm-table-wrap.company td:nth-child(10),.delivery-ogsm-table-wrap.company td:nth-child(11) { min-width:125px; }
.delivery-ogsm-table-wrap.company td:nth-child(12) { min-width:210px; }
.delivery-ogsm-table-wrap.company td:not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(12)) { text-align:center; }
.delivery-ogsm-row-number { display:grid; width:24px; height:24px; margin:auto; place-items:center; border-radius:7px; color:#fff; background:#4269a8; font-size:9px; font-weight:900; }
.delivery-ogsm-child-switch { display:flex; width:100%; gap:5px; padding:5px; overflow:auto; border:1px solid #d6e0ec; border-radius:12px; background:#fff; }
.delivery-ogsm-child-switch button { display:flex; flex:0 0 auto; align-items:center; gap:7px; padding-inline:14px; }
.delivery-ogsm-child-switch button span { display:grid; width:20px; height:20px; place-items:center; border-radius:6px; color:#526e91; background:#e9eff7; font-size:8px; }
.delivery-ogsm-child-switch button.active span { color:#17618e; background:#fff; }
.delivery-ogsm-child-hero { display:grid; grid-template-columns:1.25fr 1.25fr 1fr; gap:12px; }
.delivery-ogsm-child-hero > div { display:grid; min-width:0; align-content:center; gap:6px; min-height:120px; padding:18px 20px; border:1px solid #d8e3ef; border-radius:14px; background:linear-gradient(145deg,#fff,#f4f8fd); box-shadow:0 7px 20px rgba(31,60,94,.05); }
.delivery-ogsm-child-hero p { margin:0; color:#6e8197; font-size:10px; font-weight:850; }
.delivery-ogsm-child-hero h4 { margin:0; color:#183e6b; font-size:14px; line-height:1.55; }
.delivery-ogsm-child-hero .summary { grid-template-columns:repeat(3,1fr); gap:8px; background:linear-gradient(135deg,#214f9a,#168f8c); }
.delivery-ogsm-child-hero .summary span { display:grid; gap:3px; padding:8px; border-radius:8px; background:rgba(255,255,255,.1); text-align:center; }
.delivery-ogsm-child-hero .summary small { color:rgba(255,255,255,.75); font-size:8px; }
.delivery-ogsm-child-hero .summary b { color:#fff; font-size:20px; }
.delivery-ogsm-child-hero .summary .delivery-ogsm-progress { grid-column:1/-1; }
.delivery-ogsm-child-hero .summary .delivery-ogsm-progress > span { background:rgba(255,255,255,.22); }
.delivery-ogsm-child-hero .summary .delivery-ogsm-progress > b { color:#fff; }
.delivery-ogsm-table-wrap.child table { min-width:2140px; }
.delivery-ogsm-table-wrap.child td:nth-child(2),.delivery-ogsm-table-wrap.child td:nth-child(3) { min-width:240px; }
.delivery-ogsm-table-wrap.child td:nth-child(4) { min-width:330px; }
.delivery-ogsm-table-wrap.child td:nth-child(5) { min-width:100px; }
.delivery-ogsm-table-wrap.child td:nth-child(6),.delivery-ogsm-table-wrap.child td:nth-child(7) { min-width:125px; }
.delivery-ogsm-table-wrap.child td:nth-child(8),.delivery-ogsm-table-wrap.child td:nth-child(9),.delivery-ogsm-table-wrap.child td:nth-child(10),.delivery-ogsm-table-wrap.child td:nth-child(11) { min-width:110px; text-align:center; }
.delivery-ogsm-table-wrap.child td:nth-child(12) { min-width:230px; }
.delivery-ogsm-table-wrap.child tr.overdue td:first-child { box-shadow:inset 4px 0 #e24a57; }
.delivery-ogsm-table-wrap.child tr.complete td:first-child { box-shadow:inset 4px 0 #13a77c; }
.delivery-ogsm-table-wrap input:focus,.delivery-ogsm-table-wrap textarea:focus,.delivery-ogsm-table-wrap select:focus,.delivery-ogsm-company-core input:focus,.delivery-ogsm-company-core textarea:focus { border-color:#2770d5; outline:2px solid rgba(39,112,213,.12); }
.delivery-ogsm-block .table-icon-button { min-width:29px; min-height:29px; border:1px solid #f0c7cb; border-radius:7px; color:#d54251; background:#fff3f4; font-size:16px; cursor:pointer; }
.delivery-ogsm-table-wrap.child select.unreported { border-color:#e4a446; background:#fff8e9; }
.delivery-ogsm-company-editor,.delivery-ogsm-child-editor,.delivery-ogsm-child-weekly { display:grid; gap:16px; }
.delivery-ogsm-weekly-head { display:grid; grid-template-columns:minmax(230px,1.35fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(220px,1fr); gap:1px; overflow:hidden; border:1px solid #c9d9ec; border-radius:15px; background:#d8e3ef; box-shadow:0 8px 22px rgba(31,61,96,.06); }
.delivery-ogsm-weekly-head > div { display:grid; min-width:0; align-content:center; gap:7px; padding:18px 20px; background:#fff; }
.delivery-ogsm-weekly-head > div:first-child { background:linear-gradient(135deg,#173f83,#2072cc); color:#fff; }
.delivery-ogsm-weekly-head p,.delivery-ogsm-weekly-head h4,.delivery-ogsm-weekly-head span { margin:0; }
.delivery-ogsm-weekly-head p { color:#bcd8ff; font-size:10px; font-weight:900; letter-spacing:.08em; }
.delivery-ogsm-weekly-head h4 { overflow:hidden; font-size:20px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-weekly-head > div:first-child > span { color:#d9e8fb; font-size:11px; }
.delivery-ogsm-weekly-head-metric small { color:#71859a; font-size:9px; font-weight:850; }
.delivery-ogsm-weekly-head-metric > strong { color:#174f9e; font-size:27px; line-height:1; }
.delivery-ogsm-plan-gap { width:max-content; max-width:100%; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:850; }
.delivery-ogsm-plan-gap.ahead { color:#087d5b; background:#dff7ee; }
.delivery-ogsm-plan-gap.behind { color:#c23a4d; background:#ffe7eb; }
.delivery-ogsm-weekly-head-actions label { display:grid; grid-template-columns:auto minmax(128px,1fr); align-items:center; gap:8px; color:#62768d; font-size:9px; font-weight:850; }
.delivery-ogsm-weekly-head-actions input { min-height:36px; padding:0 8px; border:1px solid #ccd9e7; border-radius:8px; color:#264762; background:#fbfdff; font:inherit; }
.delivery-ogsm-weekly-head-actions button { min-height:36px; }
.delivery-ogsm-weekly-head-actions > small { color:#8a98aa; font-size:8px; }
.delivery-ogsm-weekly-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.delivery-ogsm-weekly-strategies { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.delivery-ogsm-weekly-strategies > article { display:grid; min-width:0; gap:11px; padding:14px; border:1px solid #d9e3ed; border-left:4px solid #d94c5c; border-radius:11px; background:#fbfcfe; }
.delivery-ogsm-weekly-strategies > article.yellow { border-left-color:#dfa124; }
.delivery-ogsm-weekly-strategies > article.green { border-left-color:#12a57b; }
.delivery-ogsm-weekly-strategies header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:10px; }
.delivery-ogsm-weekly-strategies header div { min-width:0; }
.delivery-ogsm-weekly-strategies header strong { display:block; overflow:hidden; color:#244768; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-weekly-strategies header small { display:block; overflow:hidden; margin-top:4px; color:#8291a3; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-weekly-strategies header > b { flex:0 0 auto; padding:4px 7px; border-radius:999px; color:#fff; background:#d94c5c; font-size:8px; }
.delivery-ogsm-weekly-strategies article.yellow header > b { color:#725100; background:#ffd976; }
.delivery-ogsm-weekly-strategies article.green header > b { background:#12a57b; }
.delivery-ogsm-weekly-strategies .values { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; overflow:hidden; border-radius:8px; background:#e3e9f0; }
.delivery-ogsm-weekly-strategies .values span { display:grid; gap:3px; padding:7px; color:#8190a2; background:#f4f7fa; text-align:center; font-size:8px; }
.delivery-ogsm-weekly-strategies .values strong { color:#214a75; font-size:11px; }
.delivery-ogsm-weekly-risk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.delivery-ogsm-weekly-risk { min-width:0; overflow:hidden; border:1px solid #dce4ed; border-top:4px solid #df4a5b; border-radius:11px; background:#fbfcfe; }
.delivery-ogsm-weekly-risk.orange { border-top-color:#e57e22; }
.delivery-ogsm-weekly-risk.yellow { border-top-color:#ddb027; }
.delivery-ogsm-weekly-risk.blue { border-top-color:#3477d2; }
.delivery-ogsm-weekly-risk.purple { border-top-color:#7657ce; }
.delivery-ogsm-weekly-risk.teal { border-top-color:#14a08a; }
.delivery-ogsm-weekly-risk header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 12px 8px; }
.delivery-ogsm-weekly-risk header span { color:#294966; font-size:11px; font-weight:900; }
.delivery-ogsm-weekly-risk header b { display:grid; min-width:22px; height:22px; padding:0 5px; place-items:center; border-radius:999px; color:#bd3347; background:#ffe7eb; font-size:9px; }
.delivery-ogsm-weekly-risk ul { display:grid; gap:5px; margin:0; padding:0 12px 12px; list-style:none; }
.delivery-ogsm-weekly-risk li { min-width:0; padding:7px 8px; border-radius:7px; background:#f2f5f8; }
.delivery-ogsm-weekly-risk li strong { display:block; overflow:hidden; color:#3c5872; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-weekly-risk li small { display:block; margin-top:2px; color:#8c9aaa; font-size:8px; }
.delivery-ogsm-weekly-risk li.empty { color:#98a5b3; background:transparent; font-size:9px; }
.delivery-ogsm-weekly-risk > p { margin:-5px 12px 10px; color:#8796a7; font-size:8px; }
.delivery-ogsm-owner-table-wrap { max-width:100%; overflow:auto; border:1px solid #dde5ee; border-radius:10px; }
.delivery-ogsm-owner-table { width:100%; min-width:980px; border-collapse:collapse; color:#536a82; font-size:9px; }
.delivery-ogsm-owner-table th,.delivery-ogsm-owner-table td { padding:9px 10px; border-right:1px solid #edf1f5; border-bottom:1px solid #e5ebf1; text-align:center; vertical-align:middle; }
.delivery-ogsm-owner-table thead th { color:#415c77; background:#eef3f8; white-space:nowrap; }
.delivery-ogsm-owner-table tbody th { color:#234765; background:#f9fbfd; }
.delivery-ogsm-owner-table tbody td:nth-child(7) { max-width:330px; overflow:hidden; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.delivery-ogsm-owner-table td.danger { color:#d23b4d; font-weight:900; }
.delivery-ogsm-load-alert { display:inline-grid; min-width:58px; min-height:23px; place-items:center; border-radius:999px; color:#168063; background:#e1f6ef; font-size:8px; font-weight:850; }
.delivery-ogsm-load-alert.warning { color:#bb3a49; background:#ffe7ea; }
.delivery-ogsm-week-range { display:flex; gap:4px; }
.delivery-ogsm-week-range button { min-height:29px; padding:0 9px; border:1px solid #d7e0eb; border-radius:7px; color:#63778e; background:#fff; font:inherit; font-size:9px; font-weight:850; cursor:pointer; }
.delivery-ogsm-week-range button.active { border-color:#2568ca; color:#fff; background:#2568ca; }
.delivery-ogsm-weekly-trend-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr); gap:12px; }
.delivery-ogsm-weekly-chart { position:relative; min-width:0; min-height:250px; padding:34px 12px 4px; border:1px solid #dfe6ee; border-radius:11px; background:linear-gradient(180deg,#fbfdff,#fff); }
.delivery-ogsm-chart-legend { position:absolute; top:12px; right:16px; display:flex; gap:13px; color:#6c7e93; font-size:8px; }
.delivery-ogsm-chart-legend span::before { display:inline-block; width:15px; height:3px; margin-right:5px; border-radius:2px; background:#216bd0; content:""; vertical-align:middle; }
.delivery-ogsm-chart-legend span.planned::before { background:#e39b24; }
.delivery-ogsm-weekly-chart svg { display:block; width:100%; height:210px; }
.delivery-ogsm-weekly-chart svg line { stroke:#e5ebf2; stroke-width:1; }
.delivery-ogsm-weekly-chart svg text { fill:#8a98aa; font-size:9px; }
.delivery-ogsm-weekly-chart svg polyline { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.delivery-ogsm-weekly-chart svg polyline.actual { stroke:#216bd0; }
.delivery-ogsm-weekly-chart svg polyline.planned { stroke:#e39b24; stroke-dasharray:7 5; }
.delivery-ogsm-weekly-chart svg circle.actual { fill:#216bd0; stroke:#fff; stroke-width:2; }
.delivery-ogsm-weekly-chart svg circle.planned { fill:#e39b24; stroke:#fff; stroke-width:2; }
.delivery-ogsm-weekly-trend-grid > div:last-child { display:grid; grid-template-rows:1fr 1fr; gap:12px; }
.delivery-ogsm-weekly-bars { display:grid; gap:10px; min-height:118px; padding:12px; border:1px solid #dfe6ee; border-radius:11px; background:#fbfcfe; }
.delivery-ogsm-weekly-bars header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.delivery-ogsm-weekly-bars header span { color:#5d7288; font-size:9px; font-weight:850; }
.delivery-ogsm-weekly-bars header strong { color:#168363; font-size:18px; }
.delivery-ogsm-weekly-bars.overdue header strong { color:#d03d4f; }
.delivery-ogsm-weekly-bars > div { display:flex; min-height:60px; align-items:flex-end; justify-content:space-around; gap:5px; }
.delivery-ogsm-weekly-bars > div > span { position:relative; display:flex; height:56px; flex:1; align-items:flex-end; justify-content:center; padding-bottom:14px; }
.delivery-ogsm-weekly-bars > div i { display:block; width:min(18px,60%); max-height:42px; border-radius:4px 4px 1px 1px; background:#19a981; }
.delivery-ogsm-weekly-bars.overdue > div i { background:#e05260; }
.delivery-ogsm-weekly-bars > div small { position:absolute; right:0; bottom:0; left:0; color:#8a98aa; text-align:center; font-size:7px; }
.delivery-ogsm-weekly-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.delivery-ogsm-weekly-review-grid label { display:grid; gap:6px; color:#536b83; font-size:10px; font-weight:850; }
.delivery-ogsm-weekly-review-grid textarea { width:100%; min-height:92px; padding:10px 11px; resize:vertical; border:1px solid #d0dce9; border-radius:9px; color:#304a64; background:#fbfdff; font:inherit; font-size:10px; line-height:1.55; }
.delivery-ogsm-weekly-review-grid textarea:focus { border-color:#2872d4; outline:2px solid rgba(40,114,212,.12); }

@media (max-width:1200px) {
  .delivery-headline-grid,.delivery-group-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-ogsm-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .delivery-ogsm-strategy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-ogsm-company-core { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-ogsm-weekly-head { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-ogsm-weekly-risk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .delivery-target-card > div { grid-template-columns:repeat(2,1fr); }
  .delivery-diagnostic-grid { grid-template-columns:1fr; }
  .delivery-diagnostic-overview { align-items:flex-start; flex-direction:column; }
  .delivery-diagnostic-overview p { text-align:left; }
  .delivery-platform-insight dl { grid-template-columns:1fr; }
  .delivery-standard-config-head { align-items:stretch; flex-direction:column; }
  .delivery-platform-switcher { width:100%; }
  .delivery-platform-switcher button { min-width:max-content; flex:1 0 auto; }
  .delivery-headline-grid,.delivery-group-summary { grid-template-columns:1fr; }
  .delivery-ogsm-head { align-items:flex-start; flex-direction:column; padding:19px; }
  .delivery-ogsm-head-actions { max-width:100%; justify-content:flex-start; }
  .delivery-ogsm-dashboard-hero,.delivery-ogsm-child-hero,.delivery-ogsm-insight-grid { grid-template-columns:1fr; }
  .delivery-ogsm-kpis,.delivery-ogsm-strategy-grid,.delivery-ogsm-company-core { grid-template-columns:1fr; }
  .delivery-ogsm-weekly-kpis,.delivery-ogsm-weekly-strategies,.delivery-ogsm-weekly-risk-grid,.delivery-ogsm-weekly-trend-grid,.delivery-ogsm-weekly-review-grid,.delivery-ogsm-weekly-head { grid-template-columns:1fr; }
  .delivery-ogsm-context-switch { width:100%; }
  .delivery-ogsm-context-switch button { flex:1; }
  .delivery-ogsm-block-title { align-items:flex-start; flex-direction:column; }
  .delivery-ogsm-filter-tabs { width:100%; }
}

/* V2.0.230 · 利润交付双侧栏与目标管理工作台 */
@media (min-width:821px) {
  .app-shell { grid-template-columns:68px minmax(0,1fr); }
  .sidebar-toggle { left:51px; }
}
.sidebar {
  padding:6px 4px 10px;
  background:linear-gradient(180deg,#173f82 0%,#145da0 58%,#117b91 100%);
  box-shadow:8px 0 28px rgba(20,55,108,.16);
}
.brand {
  min-height:64px;
  justify-content:center;
  padding:1px 0 8px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.brand .brand-mark-frame { margin-top:-4px; }
.brand .brand-copy { display:none; }
.brand .brand-logo {
  width:44px;
  height:44px;
  margin:0;
  border:1px solid rgba(255,255,255,.36);
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 8px 20px rgba(7,36,82,.22);
}
.nav { padding:8px 1px; }
.nav button,
.nav button.nav-profit-toolbox,
.nav button.nav-delivery-toolbox,
.nav button.nav-incentive {
  position:relative;
  display:grid;
  width:100%;
  min-height:56px;
  grid-template-columns:1fr;
  grid-template-rows:25px auto;
  place-items:center;
  gap:3px;
  margin:2px 0;
  padding:6px 1px 5px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:10px;
  color:rgba(255,255,255,.78);
  background:transparent;
  box-shadow:none;
  text-align:center;
  font-size:10px;
  font-weight:750;
  line-height:1.15;
  white-space:normal;
}
.nav button::before,
.nav button::after { display:none !important; }
.nav button:hover {
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.10);
  transform:none;
}
.nav button.active,
.nav button.nav-profit-toolbox.active,
.nav button.nav-delivery-toolbox.active,
.nav button.nav-incentive.active {
  color:#173d72;
  border-color:rgba(255,255,255,.72);
  background:#fff;
  box-shadow:0 9px 22px rgba(10,38,83,.22);
}
.sidebar-nav-icon {
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border:0;
  border-radius:8px;
  color:#fff;
  background:transparent;
  font-style:normal;
  font-size:0;
}
.sidebar-nav-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nav button.active .sidebar-nav-icon {
  color:#0d7e8b;
  background:transparent;
}
.sidebar-account { overflow:visible; padding-top:7px; }
.sidebar-account-trigger,
.sidebar-account-trigger.signed-out {
  display:grid;
  width:100%;
  grid-template-columns:36px;
  place-items:center;
  justify-content:center;
  padding:7px 1px;
}
.sidebar-account-trigger img { width:36px; height:36px; border-radius:10px; }
.sidebar-account-menu {
  left:calc(100% + 9px);
  width:238px;
  padding:8px;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(5,18,38,.22);
}
.sidebar-account-card { gap:8px; padding:6px 6px 9px; }
.sidebar-account-card img { width:36px; height:36px; border-radius:10px; }
.sidebar-account-card strong { font-size:13px; }
.sidebar-account-card span { font-size:10px; }
.sidebar-account-balance { margin:7px 0; padding:8px 9px; border-radius:9px; }
.sidebar-account-balance span { gap:4px; font-size:11px; }
.sidebar-account-balance strong { font-size:14px; }
.sidebar-account-menu > button { padding:7px 8px; border-radius:8px; font-size:12px; }
.sidebar-account-menu > button b { font-size:16px; }
.sidebar-account-version { margin-top:4px; padding:7px 8px 2px; font-size:9.5px; }

.workspace.delivery-workspace {
  display:grid;
  grid-template-columns:214px minmax(0,1fr);
  grid-auto-rows:max-content;
  align-items:start;
  gap:18px;
  padding:18px 24px 52px 18px;
}
.workspace.delivery-workspace > .delivery-rail {
  grid-column:1;
  grid-row:1;
  min-width:0;
}
.workspace.delivery-workspace > .view {
  grid-column:2;
  grid-row:1;
  width:100%;
  min-width:0;
}
.delivery-rail[hidden] { display:none !important; }
.delivery-rail {
  position:sticky;
  top:18px;
  z-index:12;
  overflow:hidden;
  border:1px solid #dce6ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 34px rgba(37,72,112,.10);
}
.delivery-rail-head {
  display:grid;
  gap:2px;
  padding:17px 18px 15px;
  border-bottom:1px solid #e8eef3;
  background:linear-gradient(135deg,#f6fbff,#edf9f5);
}
.delivery-rail-head small { color:#7190a6; font-size:11px; font-weight:800; letter-spacing:.08em; }
.delivery-rail-head strong { color:#173856; font-size:17px; }
.delivery-rail-section { padding:13px 10px 10px; }
.delivery-rail-section + .delivery-rail-section { border-top:1px solid #edf1f4; }
.delivery-rail-section h3 {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 8px 8px;
  color:#26465f;
  font-size:13px;
}
.delivery-rail-section h3 i {
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  border-radius:7px;
  color:#0d806b;
  background:#e6f7f1;
  font-style:normal;
  font-size:11px;
}
.delivery-rail-list { display:grid; gap:3px; }
.delivery-rail button {
  display:flex;
  width:100%;
  min-height:38px;
  align-items:center;
  justify-content:space-between;
  padding:8px 11px 8px 35px;
  border:0;
  border-radius:9px;
  color:#52677a;
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:13px;
  font-weight:720;
  cursor:pointer;
}
.delivery-rail button:hover { color:#0b7567; background:#f0f8f5; }
.delivery-rail button.active { color:#0c6f63; background:#dff2ec; box-shadow:inset 3px 0 #1c9b80; }
.delivery-rail-parent { margin-top:1px; padding-left:12px !important; }
.delivery-rail-parent b { color:#7d91a3; font-size:17px; }
.delivery-rail-tree {
  position:relative;
  display:grid;
  gap:2px;
  margin:3px 0 8px 18px;
  padding-left:10px;
  border-left:1px solid #d8e6e2;
}
.delivery-rail-tree[hidden] { display:none; }
.delivery-rail-tree button { min-height:34px; padding-left:15px; font-size:12px; }
.delivery-rail-tree .level-two { padding-left:31px; color:#687c8c; }
.delivery-rail-branch {
  padding:7px 12px 3px 15px;
  color:#8a99a7;
  font-size:11px;
  font-weight:800;
}
.delivery-rail-goal-views { padding-top:3px; }
.delivery-rail-goal-views button { padding-left:12px; }
.delivery-rail-import { padding:7px 4px 2px; }
.delivery-rail-import label {
  display:flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  border:1px dashed #bdd1df;
  border-radius:9px;
  color:#42657e;
  background:#f7fafc;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.delivery-rail-import label:hover { color:#0b7567; border-color:#7ebfae; background:#eef8f5; }

.delivery-ogsm-shell { display:grid; gap:14px; }
.delivery-ogsm-head {
  min-height:96px;
  padding:20px 24px;
  border:1px solid #dbe8ee;
  border-radius:17px;
  color:#173d5c;
  background:linear-gradient(120deg,#fff 0%,#f2f9ff 58%,#edf9f5 100%);
  box-shadow:0 10px 28px rgba(38,78,113,.08);
}
.delivery-ogsm-head h2 { color:#143b5c; font-size:25px; }
.delivery-ogsm-head p { color:#6e8598; }
.delivery-ogsm-head-actions button { border-color:#cbdde9; background:#fff; color:#28526f; }
.delivery-ogsm-block {
  border-color:#dce6ec;
  border-radius:15px;
  box-shadow:0 8px 26px rgba(36,71,104,.07);
}
.delivery-ogsm-plan-board { padding:0; overflow:hidden; }
.delivery-ogsm-plan-board > .delivery-ogsm-block-title { padding:17px 20px; background:#f8fbfd; }
.delivery-ogsm-plan-title {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:13px 20px;
  border-top:1px solid #edf2f5;
  color:#486176;
  font-size:12px;
  font-weight:850;
}
.delivery-ogsm-plan-title input,
.delivery-ogsm-plan-grid textarea {
  width:100%;
  border:1px solid #d5e0e7;
  border-radius:9px;
  color:#24435e;
  background:#fff;
  font:inherit;
}
.delivery-ogsm-plan-title input { min-height:40px; padding:8px 11px; font-size:15px; font-weight:800; }
.delivery-ogsm-plan-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
  padding:0 20px 20px;
}
.delivery-ogsm-plan-grid > label {
  display:grid;
  align-content:start;
  min-width:0;
  border:1px solid #dfe7ed;
  border-right:0;
  overflow:hidden;
}
.delivery-ogsm-plan-grid > label:first-child { border-radius:11px 0 0 11px; }
.delivery-ogsm-plan-grid > label:last-child { border-right:1px solid #dfe7ed; border-radius:0 11px 11px 0; }
.delivery-ogsm-plan-grid > label > span { display:flex; min-height:44px; align-items:center; gap:8px; padding:9px 12px; color:#35516a; background:#f4f7fa; font-size:12px; font-weight:850; }
.delivery-ogsm-plan-grid > label > span b { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; color:#fff; background:#557892; }
.delivery-ogsm-plan-grid > label.objective > span { background:#e5f2fb; }
.delivery-ogsm-plan-grid > label.objective > span b { background:#2d82b7; }
.delivery-ogsm-plan-grid > label.goal > span { background:#fff1e4; }
.delivery-ogsm-plan-grid > label.goal > span b { background:#dc7d2e; }
.delivery-ogsm-plan-grid textarea { min-height:134px; resize:vertical; padding:13px; border:0; border-radius:0; line-height:1.65; }
.delivery-ogsm-table-wrap { max-width:100%; border-radius:11px; }
.delivery-ogsm-table-wrap.company table { min-width:1450px; }
.delivery-ogsm-table-wrap.child table { min-width:1680px; }
.delivery-ogsm-table-wrap table thead th { background:#edf3f7; color:#375369; }
.delivery-ogsm-table-wrap table thead th.strategy-head { background:#f6dbea; color:#854b70; }
.delivery-ogsm-table-wrap table thead th.measurement-head { background:#e8e0f4; color:#654d83; }
.delivery-ogsm-table-wrap table thead th.action-head { background:#dcf0ec; color:#2a7568; }
.delivery-ogsm-table-wrap table tbody tr:hover { background:#f8fcfb; }
.delivery-ogsm-table-wrap table tbody td:first-child { background:#fbfdfe; }

.delivery-goal-map-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  padding:11px 14px;
  border:1px solid #dce7eb;
  border-radius:12px;
  background:#fff;
}
.delivery-goal-map-actions p { margin:0; color:#687f8f; font-size:11px; line-height:1.55; }
.delivery-goal-map-actions button { flex:0 0 auto; }
.delivery-goal-map-canvas {
  min-height:660px;
  padding:24px;
  overflow:auto;
  border:1px solid #d9e7e6;
  border-radius:18px;
  background:radial-gradient(circle at 16% 0,rgba(209,241,233,.55),transparent 30%),#f5f7f8;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 12px 30px rgba(44,79,101,.08);
}
.delivery-goal-map-layout {
  display:grid;
  grid-template-columns:minmax(320px,.72fr) 66px minmax(500px,1.55fr);
  align-items:start;
  min-width:890px;
}
.delivery-goal-map-mother { position:sticky; top:0; align-self:start; }
.delivery-goal-map-children { position:relative; display:grid; grid-template-columns:1fr; align-items:start; gap:18px; }
.delivery-goal-map-children::before { content:""; position:absolute; top:22px; bottom:0; left:-33px; width:2px; background:#52a590; }
.delivery-goal-map-child-branch { position:relative; width:66.666%; min-width:0; }
.delivery-goal-map-child-branch::before { content:""; position:absolute; top:22px; left:-33px; width:33px; height:2px; background:#52a590; }
.delivery-goal-map-child-branch:last-child::after { content:""; position:absolute; z-index:2; top:24px; bottom:-2px; left:-35px; width:6px; background:#f5f7f8; }
.delivery-goal-map-branch-arrow { position:absolute; z-index:3; top:18px; left:-9px; width:9px; height:9px; border-top:2px solid #52a590; border-right:2px solid #52a590; transform:rotate(45deg); }
.delivery-goal-map-card {
  overflow:hidden;
  border:1px solid #d4dfe5;
  border-radius:10px;
  background:#fff;
  box-shadow:0 7px 18px rgba(41,72,94,.10);
}
.delivery-goal-map-card.company-card { border-top:4px solid #168972; }
.delivery-goal-map-card.child-card { border-top:4px solid #2878b9; }
.delivery-goal-map-card-head {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center;
  min-height:45px;
  gap:8px;
  padding:7px 10px;
  border-bottom:1px solid #dce5e9;
  background:#fff;
}
.delivery-goal-map-card-head span { padding:4px 7px; border-radius:5px; color:#fff; background:#14866f; font-size:10px; font-weight:850; white-space:nowrap; }
.delivery-goal-map-card.child-card .delivery-goal-map-card-head span { background:#2b76ad; }
.delivery-goal-map-card-head input {
  width:100%;
  min-width:0;
  height:30px;
  padding:3px 7px;
  border:1px solid transparent;
  border-radius:6px;
  color:#26465c;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:850;
}
.delivery-goal-map-card-head input:hover,
.delivery-goal-map-card-head input:focus { border-color:#bed2df; background:#f7fafc; outline:none; }
.delivery-goal-map-card-actions { display:flex; align-items:center; gap:3px; }
.delivery-goal-map-card-head .delivery-goal-map-card-remove {
  width:24px;
  height:24px;
  padding:0;
  border:0;
  color:#9aa8b2;
  background:transparent;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.delivery-goal-map-card-head .delivery-goal-map-card-remove:hover { color:#d24d58; }
.delivery-goal-map-card-head .delivery-goal-map-sm-toggle {
  width:auto;
  height:26px;
  padding:0 7px;
  border:1px solid #cad9e2;
  border-radius:6px;
  color:#587287;
  background:#f5f8fa;
  font:inherit;
  font-size:9px;
  font-weight:800;
  line-height:24px;
  white-space:nowrap;
  cursor:pointer;
}
.delivery-goal-map-card-head .delivery-goal-map-sm-toggle:hover { border-color:#77a99e; color:#177561; background:#eef8f5; }
.delivery-goal-map-card-grid { display:grid; grid-template-columns:1fr 1fr; }
.delivery-goal-map-card-grid.is-sm-collapsed .strategy,
.delivery-goal-map-card-grid.is-sm-collapsed .measurement { display:none; }
.delivery-goal-map-card-grid.is-sm-collapsed .objective,
.delivery-goal-map-card-grid.is-sm-collapsed .goal { border-bottom:0; }
.delivery-goal-map-region { min-width:0; border-bottom:1px solid #e2e8ec; }
.delivery-goal-map-region:nth-child(odd) { border-right:1px solid #e2e8ec; }
.delivery-goal-map-region:nth-child(n+3) { border-bottom:0; }
.delivery-goal-map-region > header { display:flex; align-items:center; gap:5px; min-height:31px; padding:5px 9px; color:#34556c; font-size:10px; font-weight:800; }
.delivery-goal-map-region > header b { font-size:12px; }
.delivery-goal-map-region.objective > header { background:#dcecf9; }
.delivery-goal-map-region.goal > header { background:#fce9d8; }
.delivery-goal-map-region.strategy > header { background:#f4dce9; }
.delivery-goal-map-region.measurement > header { background:#e7e0f1; }
.delivery-goal-map-item-list {
  display:flex;
  flex-direction:column;
  min-height:150px;
  padding:7px 8px;
}
.delivery-goal-map-item-list.is-single { justify-content:center; }
.delivery-goal-map-card.child-card .delivery-goal-map-item-list { min-height:90px; }
.delivery-goal-map-item {
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  align-items:center;
  min-width:0;
  gap:3px;
  padding:4px 0;
}
.delivery-goal-map-item + .delivery-goal-map-item { border-top:1px dashed #e3e8ec; }
.delivery-goal-map-item > b { align-self:start; padding-top:7px; color:#33556a; font-size:10px; }
.delivery-goal-map-item textarea {
  field-sizing:content;
  width:100%;
  min-width:0;
  min-height:48px;
  max-height:150px;
  padding:6px;
  resize:vertical;
  overflow:auto;
  border:1px solid transparent;
  border-radius:6px;
  color:#344f61;
  background:transparent;
  font:inherit;
  font-size:11px;
  line-height:1.5;
}
.delivery-goal-map-item textarea:hover,
.delivery-goal-map-item textarea:focus { border-color:#bed3df; background:#fff; outline:none; box-shadow:0 0 0 2px rgba(67,135,171,.08); }
.delivery-goal-map-connector {
  position:relative;
  display:flex;
  align-items:center;
  align-self:start;
  height:44px;
  color:#6f8a89;
  font-size:10px;
  font-weight:850;
}
.delivery-goal-map-connector i { width:100%; height:2px; background:#52a590; }
.delivery-goal-map-connector span { position:absolute; top:27px; left:50%; padding:2px 5px; border-radius:5px; background:#f5f7f8; transform:translateX(-50%); white-space:nowrap; }
.delivery-goal-dashboard-switch {
  display:flex;
  gap:6px;
  margin-bottom:12px;
  padding:6px;
  overflow-x:auto;
  border:1px solid #dce6eb;
  border-radius:12px;
  background:#fff;
}
.delivery-goal-dashboard-switch button { min-width:max-content; padding:9px 15px; border:0; border-radius:8px; color:#617689; background:transparent; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.delivery-goal-dashboard-switch button.active { color:#fff; background:linear-gradient(135deg,#177ea0,#169475); box-shadow:0 6px 14px rgba(23,127,126,.18); }

.delivery-ogsm-review-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 25px;
  border:1px solid #d9e7eb;
  border-radius:17px;
  background:linear-gradient(120deg,#f1f9ff,#eff9f5);
}
.delivery-ogsm-review-hero small { color:#188571; font-weight:900; letter-spacing:.12em; }
.delivery-ogsm-review-hero h4 { margin:5px 0 3px; color:#1d425e; font-size:23px; }
.delivery-ogsm-review-hero p { margin:0; color:#718798; }
.delivery-ogsm-review-hero label { display:grid; gap:5px; color:#587083; font-size:11px; font-weight:850; }
.delivery-ogsm-review-hero input { min-height:39px; padding:7px 10px; border:1px solid #cbdbe5; border-radius:8px; background:#fff; }
.delivery-ogsm-period-review { display:grid; gap:14px; }
.delivery-ogsm-period-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.delivery-ogsm-period-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.delivery-ogsm-period-review-grid label { display:grid; gap:7px; color:#49647a; font-size:12px; font-weight:850; }
.delivery-ogsm-period-review-grid label.wide { grid-column:1 / -1; }
.delivery-ogsm-period-review-grid textarea { width:100%; min-height:118px; padding:11px 12px; resize:vertical; border:1px solid #d2dfe7; border-radius:9px; color:#294a63; background:#fbfdff; font:inherit; line-height:1.55; }

/* V2.0.233 · 利润交付复盘导航 */
.sidebar-toggle { display:none !important; }

/* V2.0.234 · 自定义账户头像与成本明细 GSV 口径 */

/* V2.0.235 · 资料顶部保存、分位标签合并与扩业绩测算 */
.delivery-rail-parent b { display:grid; width:20px; height:20px; place-items:center; font-size:13px; line-height:1; }
.delivery-ogsm-review-tabs {
  display:flex;
  align-items:center;
  gap:24px;
  min-height:46px;
  padding:0 18px;
  border:1px solid #e2e8ec;
  border-radius:13px;
  background:#f7f8f9;
  box-shadow:0 6px 18px rgba(37,70,96,.05);
}
.delivery-ogsm-review-tabs button {
  position:relative;
  align-self:stretch;
  padding:0 4px;
  border:0;
  color:#7a8894;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:760;
  cursor:pointer;
}
.delivery-ogsm-review-tabs button::after {
  content:"";
  position:absolute;
  right:1px;
  bottom:6px;
  left:1px;
  height:3px;
  border-radius:999px;
  background:transparent;
}
.delivery-ogsm-review-tabs button:hover { color:#167c68; }
.delivery-ogsm-review-tabs button.active { color:#087b65; }
.delivery-ogsm-review-tabs button.active::after { background:#19a786; }
.delivery-ogsm-review-workspace {
  display:grid;
  grid-template-columns:152px minmax(0,1fr);
  align-items:start;
  gap:15px;
  min-width:0;
}
.delivery-ogsm-review-periods {
  position:sticky;
  top:12px;
  z-index:3;
  max-height:calc(100vh - 34px);
  overflow:hidden;
  border:1px solid #dfe7ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(39,72,99,.07);
}
.delivery-ogsm-review-periods-toggle {
  display:flex;
  width:100%;
  min-height:38px;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:7px 9px 7px 12px;
  border:0;
  border-bottom:1px solid #e8edf1;
  color:#435d72;
  background:#f8fafb;
  text-align:left;
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.delivery-ogsm-review-periods-toggle b { color:#719085; font-size:17px; font-weight:600; }
.delivery-ogsm-review-period-list { display:grid; gap:2px; max-height:calc(100vh - 84px); padding:7px; overflow:auto; }
.delivery-ogsm-review-period-list button {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:6px 7px;
  border:0;
  border-radius:7px;
  color:#687986;
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:10px;
  cursor:pointer;
}
.delivery-ogsm-review-period-list button:hover { color:#176f62; background:#eef7f4; }
.delivery-ogsm-review-period-list button.active { color:#173f58; background:#edf3f6; font-weight:850; }
.delivery-ogsm-review-period-list button b { color:#1a9a72; font-size:11px; }
.delivery-ogsm-review-period-list button i { color:#a4adb5; font-style:normal; font-size:9px; }
.delivery-ogsm-review-content { min-width:0; }
.delivery-ogsm-review-workspace.is-list-collapsed { grid-template-columns:38px minmax(0,1fr); }
.delivery-ogsm-review-workspace.is-list-collapsed .delivery-ogsm-review-periods-toggle { height:76px; justify-content:center; padding:0; border-bottom:0; }
.delivery-ogsm-review-workspace.is-list-collapsed .delivery-ogsm-review-periods-toggle span,
.delivery-ogsm-review-workspace.is-list-collapsed .delivery-ogsm-review-period-list { display:none; }

@media (max-width:1180px) {
  .workspace.delivery-workspace { grid-template-columns:190px minmax(0,1fr); gap:13px; padding-right:16px; }
  .delivery-rail button { padding-left:27px; }
  .delivery-ogsm-plan-grid { grid-template-columns:1fr; gap:10px; }
  .delivery-ogsm-review-workspace { grid-template-columns:132px minmax(0,1fr); gap:11px; }
  .delivery-ogsm-plan-grid > label,
  .delivery-ogsm-plan-grid > label:first-child,
  .delivery-ogsm-plan-grid > label:last-child { border:1px solid #dfe7ed; border-radius:10px; }
}
@media (max-width:820px) {
  .workspace.delivery-workspace { display:block; padding:12px 12px 40px; }
  .delivery-rail { position:relative; top:auto; margin-bottom:12px; }
  .delivery-rail-head { display:none; }
  .delivery-rail-section { padding:9px; }
  .delivery-rail-list { display:flex; gap:5px; overflow-x:auto; }
  .delivery-rail-list button { width:auto; min-width:max-content; padding:8px 12px; }
  .delivery-rail-tree { grid-template-columns:repeat(2,minmax(max-content,1fr)); margin-left:9px; }
  .delivery-rail-tree .level-two { padding-left:15px; }
  .delivery-rail-goal-views { margin-top:6px; }
  .delivery-ogsm-head { align-items:flex-start; flex-direction:column; }
  .delivery-goal-map-canvas { min-height:0; padding:18px; }
  .delivery-goal-map-actions { align-items:flex-start; flex-direction:column; }
  .delivery-goal-map-layout { grid-template-columns:1fr; min-width:0; }
  .delivery-goal-map-mother { position:static; }
  .delivery-goal-map-connector { position:relative; top:auto; width:44px; height:58px; justify-self:center; transform:rotate(90deg); }
  .delivery-goal-map-connector span { display:none; }
  .delivery-goal-map-children { grid-template-columns:1fr; }
  .delivery-goal-map-child-branch { width:100%; }
  .delivery-goal-map-children::before,
  .delivery-goal-map-child-branch::before,
  .delivery-goal-map-child-branch:last-child::after,
  .delivery-goal-map-branch-arrow { display:none; }
  .delivery-ogsm-period-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-ogsm-review-workspace,
  .delivery-ogsm-review-workspace.is-list-collapsed { grid-template-columns:1fr; }
  .delivery-ogsm-review-periods { position:static; max-height:none; }
  .delivery-ogsm-review-period-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:220px; }
  .delivery-ogsm-review-workspace.is-list-collapsed .delivery-ogsm-review-periods-toggle { height:38px; }
}
@media (max-width:560px) {
  .delivery-ogsm-plan-title { grid-template-columns:1fr; }
  .delivery-goal-map-card-grid { grid-template-columns:1fr; }
  .delivery-goal-map-region,
  .delivery-goal-map-region:nth-child(odd),
  .delivery-goal-map-region:nth-child(n+3) { border-right:0; border-bottom:1px solid #e2e8ec; }
  .delivery-goal-map-region:last-child { border-bottom:0; }
  .delivery-goal-map-item-list { min-height:110px; }
  .delivery-ogsm-review-hero { align-items:flex-start; flex-direction:column; }
  .delivery-ogsm-period-kpis,
  .delivery-ogsm-period-review-grid { grid-template-columns:1fr; }
  .delivery-ogsm-period-review-grid label.wide { grid-column:auto; }
}
