 :root {
  color-scheme: light;
  --gold-ink: #303133;
  --gold-muted: #909399;
  --gold-line: #dcdfe6;
  --gold-paper: #f5f7fa;
  --gold-panel: #ffffff;
  --gold-accent: #409eff;
  --el-color-primary: #409eff;
  --el-color-success: #67c23a;
  --el-color-warning: #e6a23c;
  --el-border-radius-base: 6px;
  --el-font-size-base: 13px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--gold-paper);
  color: var(--gold-ink);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[v-cloak] { display: none; }
.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(145deg, #f7f9fc, #eef3f8);
}
.login-panel {
  width: min(430px, 100%);
  border: 1px solid var(--gold-line);
  border-radius: 8px;
}
.brand-block { margin-bottom: 18px; }
.eyebrow {
  margin: 0 0 6px;
  color: var(--gold-accent);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}
h1 { margin: 0; letter-spacing: 0; }
.login-panel h1 { font-size: 34px; }
.muted { color: var(--gold-muted); margin: 0; }
.full-btn { width: 100%; }
.admin-shell { min-height: 100vh; }
.admin-aside {
  background: #ffffff;
  border-right: 1px solid var(--gold-line);
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.brand {
  padding: 0 10px 8px;
  font-size: 20px;
  font-weight: 800;
}
.nav-menu {
  flex: 1;
  border-right: 0;
  background: transparent;
}
.nav-menu .el-menu-item {
  height: 36px;
  line-height: 36px;
  border-radius: 6px;
  margin: 2px 0;
  color: var(--gold-ink);
}
.nav-menu .el-menu-item.is-active {
  background: #ecf5ff;
  color: #337ecc;
  font-weight: 800;
}
.topbar {
  height: 64px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--gold-line);
  background: rgba(255, 255, 255, .76);
  backdrop-filter: blur(12px);
}
.topbar h1 { font-size: 24px; font-weight: 800; }
.workspace { padding: 18px; min-width: 0; }
.section-card, .filter-card { border-radius: 8px; border-color: var(--gold-line); margin-bottom: 14px; }
.metric-card { border-radius: 8px; border-color: var(--gold-line); margin-bottom: 14px; }
.metric-card span { color: var(--gold-muted); font-size: 13px; }
.metric-card strong { display: block; margin-top: 8px; font-size: 28px; }
.price-line { font-size: 30px; font-weight: 850; margin-bottom: 8px; }
.price-line small { font-size: 14px; color: var(--gold-muted); }
.inline-control { display: grid; grid-template-columns: minmax(160px, 260px) auto; gap: 10px; justify-content: start; align-items: center; }
.section-title { margin: 18px 0 10px; font-size: 16px; }
.table-actions { margin-top: 12px; display: flex; gap: 8px; align-items: center; }
.page-actions { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 10px; }
.product-dialog-form .el-form-item { margin-bottom: 14px; }
.data-table { width: 100%; margin-top: 14px; border-radius: 8px; }
.el-table { --el-table-header-bg-color: #f5f7fa; --el-table-header-text-color: #606266; }
.el-table th.el-table__cell { font-weight: 800; }
.el-button { font-weight: 700; }
.el-button--small { min-height: 28px; }
.el-form--inline .el-form-item { margin-right: 10px; margin-bottom: 8px; }
.el-form--inline .el-input, .el-form--inline .el-select, .el-form--inline .el-date-editor.el-input { width: 160px; }
.pager-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 14px;
  min-height: 36px;
}
.avatar-thumb {
  width: 38px;
  height: 38px;
  border: 1px solid var(--gold-line);
  border-radius: 6px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.proof-thumb {
  width: 86px;
  height: 58px;
  border: 1px solid var(--gold-line);
  border-radius: 6px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-thumb {
  width: 64px;
  height: 46px;
  border: 1px solid var(--gold-line);
  border-radius: 6px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.avatar-thumb img, .proof-thumb img, .product-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.form-actions { display: flex; align-items: end; gap: 8px; padding-bottom: 18px; }
.order-actions, .user-actions { display: flex; flex-wrap: nowrap; gap: 3px; align-items: center; white-space: nowrap; }
.order-actions .el-button + .el-button, .user-actions .el-button + .el-button { margin-left: 0; }
.data-table .el-table-fixed-column--right .cell, .data-table .el-table__fixed-right .cell { white-space: nowrap; }
.release-detail-table .cell, .release-detail-table th.el-table__cell { white-space: nowrap; }
.release-detail-table .cell { overflow: hidden; text-overflow: ellipsis; }
.data-table .el-table-fixed-column--right .el-button, .data-table .el-table__fixed-right .el-button, .order-actions .el-button--small, .user-actions .el-button--small { min-height: 24px; padding: 2px 5px; font-size: 12px; }
.order-table .el-button--small { padding: 2px 5px; }
.order-table .order-actions { gap: 2px; }
.order-filter-form .el-date-editor.el-input { width: 145px; }
.order-number b, .order-number span { display:block; }
.order-number b { color:#1f3f57; font-size:13px; }
.order-number span { margin-top:3px; color:#98a2ad; font:10px ui-monospace,SFMono-Regular,Consolas,monospace; cursor:help; }
.order-product-summary, .order-detail-product { display:flex; align-items:center; gap:9px; min-width:0; }
.order-product-image { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; border:1px solid #dec98f; border-radius:7px; color:#8a6416; background:linear-gradient(145deg,#fff8dc,#ead69a); font:800 15px "Songti SC",serif; }
.order-product-image.is-large { width:46px; height:46px; }
.order-product-image img { width:100%; height:100%; object-fit:cover; }
.order-product-copy { min-width:0; }
.order-product-copy b, .order-product-copy small, .order-detail-product > span:last-child b, .order-detail-product > span:last-child small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-product-copy b { color:#34434f; font-size:12px; }
.order-product-copy small { margin-top:4px; color:#8b7650; font-size:10px; font-weight:700; }
.order-time-cell span { display:flex; align-items:center; gap:6px; line-height:1.65; white-space:nowrap; }
.order-time-cell i { min-width:28px; color:#9b7a36; font-size:10px; font-style:normal; font-weight:800; }
.order-detail-dialog .el-dialog__body { padding-top:10px; }
.order-detail-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:16px; }
.order-detail-meta > div { min-width:0; padding:12px 13px; border:1px solid #e1e5e8; border-radius:8px; background:linear-gradient(150deg,#fbfcfd,#f4f7f9); }
.order-detail-meta span, .order-detail-meta b, .order-detail-meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-detail-meta span { color:#8a949d; font-size:10px; }
.order-detail-meta b { margin-top:6px; color:#263d4d; font-size:13px; }
.order-detail-meta small { margin-top:4px; color:#8d7a55; font-size:10px; }
.order-detail-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 9px; padding-left:10px; border-left:4px solid #c59b42; }
.order-detail-heading span { color:#a07d35; font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.12em; }
.order-detail-heading h3 { margin:2px 0 0; color:#2e3f4b; font-size:15px; }
.order-detail-heading > b { color:#786536; font-size:12px; }
.order-items-table { margin-top:0; }
.order-detail-product > span:last-child { min-width:0; }
.order-detail-product > span:last-child b { color:#35434d; font-size:12px; }
.order-detail-product > span:last-child small { margin-top:4px; color:#92999f; font-size:10px; }
.order-detail-bottom { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; margin-top:14px; padding:14px 16px; border:1px solid #e3dfd4; border-radius:9px; background:#faf9f5; }
.order-detail-bottom section > span { color:#9b7a36; font-size:10px; font-weight:800; }
.order-detail-bottom section > b { display:block; margin-top:6px; color:#2d404b; font-size:13px; }
.order-detail-bottom section p { margin:5px 0 0; color:#68747c; font-size:12px; line-height:1.6; }
.order-detail-bottom dl { margin:0; }
.order-detail-bottom dl div { display:flex; justify-content:space-between; gap:12px; padding:4px 0; }
.order-detail-bottom dt { color:#7f898f; font-size:11px; }
.order-detail-bottom dd { margin:0; color:#263d4d; font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace; }
.el-dialog { border-radius: 8px; }
.product-rich-editor { width:100%; overflow:hidden; border:1px solid #d8d0bd; border-radius:8px; background:#fffdf8; }
.product-rich-toolbar { display:flex; align-items:center; gap:8px; padding:8px; border-bottom:1px solid #e4ddcf; background:#f7f3ea; }
.product-rich-toolbar .el-upload { display:inline-flex; }
.product-rich-editor-body { min-height:240px; padding:14px; outline:0; color:#35434d; line-height:1.75; }
.product-rich-editor-body:empty::before { color:#a0a6a6; content:'输入商品的图文详情…'; }
.product-rich-editor-body img { display:block; max-width:100%; height:auto; margin:12px 0; border-radius:4px; }
.product-rich-editor-body h2,.product-rich-editor-body h3,.product-rich-editor-body h4 { color:#293f48; }
.product-rich-editor-body table { width:100%; border-collapse:collapse; }
.product-rich-editor-body th,.product-rich-editor-body td { padding:8px; border:1px solid #d8d0bd; }
@media (max-width: 900px) {
  .admin-shell { display: block; }
  .admin-aside { width: 100% !important; min-height: auto; }
  .nav-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .topbar { height: auto; padding: 14px; }
  .workspace { padding: 12px; }
  .order-detail-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-detail-bottom { grid-template-columns:1fr; }
}


/* Simulation decision console: financial terminal, warm metal on deep green. */
.simulation-console {
  --sim-ink: #07130f;
  --sim-panel: #10231b;
  --sim-panel-soft: #173027;
  --sim-gold: #d8ad5c;
  --sim-gold-pale: #f2dba5;
  --sim-mint: #79c8a7;
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 100px);
  padding: 22px;
  border-radius: 16px;
  color: #f7f0df;
  background:
    radial-gradient(circle at 86% 3%, rgba(216, 173, 92, .20), transparent 28%),
    radial-gradient(circle at 12% 94%, rgba(68, 142, 111, .18), transparent 31%),
    linear-gradient(145deg, #07130f 0%, #0b1c16 56%, #0d241b 100%);
  box-shadow: 0 24px 60px rgba(7, 19, 15, .22);
}
.simulation-console::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 62%);
}
.simulation-console > * { position: relative; z-index: 1; }
.simulation-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 10px 8px 22px; }
.simulation-kicker { margin: 0 0 8px; color: var(--sim-gold); font: 800 11px/1.2 ui-monospace, "SFMono-Regular", monospace; letter-spacing: .18em; }
.simulation-hero h2 { margin: 0; color: #fffaf0; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(28px, 3vw, 42px); font-weight: 700; letter-spacing: -.04em; }
.simulation-hero p:not(.simulation-kicker) { margin: 8px 0 0; color: #a9bdb4; font-size: 14px; }
.simulation-hero-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.simulation-hero-actions .el-select { width: 148px; }
.simulation-hero-actions .el-select__wrapper { background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(242,219,165,.25); }
.simulation-hero-actions .el-select__selected-item { color: #fff4d6; }
.sim-gold.el-button { border-color: var(--sim-gold); background: var(--sim-gold); color: #172019; }
.sim-gold.el-button:hover { border-color: #eccb83; background: #eccb83; color: #07130f; transform: translateY(-1px); }
.sim-ghost.el-button { border-color: rgba(242,219,165,.35); background: rgba(255,255,255,.04); color: var(--sim-gold-pale); }
.simulation-tabs > .el-tabs__header { margin: 0 0 20px; }
.simulation-tabs .el-tabs__nav-wrap::after { background: rgba(255,255,255,.12); }
.simulation-tabs .el-tabs__item { color: #91a89e; font-weight: 800; letter-spacing: .04em; }
.simulation-tabs .el-tabs__item.is-active { color: var(--sim-gold-pale); }
.simulation-tabs .el-tabs__active-bar { height: 3px; background: var(--sim-gold); }
.simulation-overview { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.sim-stat { min-height: 128px; padding: 19px; border: 1px solid rgba(242,219,165,.14); border-radius: 12px; background: linear-gradient(155deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.sim-stat span, .sim-stat small { display: block; color: #8ea79b; }
.sim-stat span { font-size: 12px; letter-spacing: .08em; }
.sim-stat strong { display: block; margin: 13px 0 8px; color: #fff5dc; font: 700 clamp(18px, 2vw, 27px)/1.1 "Noto Serif SC", "Songti SC", serif; }
.sim-stat small { font-size: 11px; }
.sim-stat-pass { background: linear-gradient(155deg, rgba(62,147,111,.24), rgba(255,255,255,.025)); }
.sim-stat-pass strong { color: #9ce0bf; }
.trend-panel { padding: 22px 22px 16px; border: 1px solid rgba(242,219,165,.14); border-radius: 14px; background: rgba(3,13,9,.46); }
.trend-heading { display: flex; justify-content: space-between; align-items: flex-end; }
.trend-heading p { margin: 0 0 4px; color: var(--sim-gold); font: 800 10px ui-monospace, monospace; letter-spacing: .18em; }
.trend-heading h3 { margin: 0; font: 700 21px "Noto Serif SC", "Songti SC", serif; }
.trend-heading > span { color: #789087; font-size: 11px; }
.trend-canvas { position: relative; height: 285px; margin-top: 10px; cursor: crosshair; touch-action: pan-y; user-select: none; }
.trend-canvas svg { width: 100%; height: 255px; overflow: visible; }
.trend-grid { stroke: rgba(255,255,255,.09); stroke-width: 1; vector-effect: non-scaling-stroke; }
.trend-line { fill: none; stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 3px 5px rgba(0,0,0,.28)); }
.trend-line-0 { stroke: #e8b85f; } .trend-line-1 { stroke: #75c7a4; } .trend-line-2 { stroke: #e77e67; } .trend-line-3 { stroke: #8baae8; }
.trend-hover-line { stroke: rgba(255,250,240,.5); stroke-width: 1; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.trend-marker { stroke: #07130f; stroke-width: 2; vector-effect: non-scaling-stroke; }
.trend-marker-0 { fill:#e8b85f; } .trend-marker-1 { fill:#75c7a4; } .trend-marker-2 { fill:#e77e67; } .trend-marker-3 { fill:#8baae8; }
.trend-tooltip { position:absolute; z-index:4; top:10px; width:210px; padding:13px 14px; transform:translateX(14px); border:1px solid rgba(242,219,165,.34); border-radius:10px; color:#eef8f3; background:rgba(5,20,14,.96); box-shadow:0 14px 36px rgba(0,0,0,.42); pointer-events:none; backdrop-filter:blur(8px); }
.trend-tooltip.is-right { transform:translateX(calc(-100% - 14px)); }
.trend-tooltip-kicker { display:block; margin-bottom:4px; color:#d8ad5c; font:800 9px ui-monospace,monospace; letter-spacing:.14em; }
.trend-tooltip > strong { display:block; color:#fff8e7; font:700 12px ui-monospace,monospace; }
.trend-tooltip ul { margin:10px 0 0; padding:0; list-style:none; }
.trend-tooltip li { display:grid; grid-template-columns:12px 28px 1fr; align-items:center; gap:6px; padding:4px 0; }
.trend-tooltip li .legend-dot { margin:0; }
.trend-tooltip li span { color:#aec2b8; font:800 11px ui-monospace,monospace; }
.trend-tooltip li b { color:#f5efe1; font:700 11px ui-monospace,monospace; text-align:right; }
.trend-labels { position: absolute; inset: 254px 0 auto; height: 20px; color: #6f887d; font: 10px ui-monospace, monospace; }
.trend-labels span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.trend-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-top: 10px; color: #bdccc5; font-size: 12px; }
.legend-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; }
.legend-dot-0 { background:#e8b85f; } .legend-dot-1 { background:#75c7a4; } .legend-dot-2 { background:#e77e67; } .legend-dot-3 { background:#8baae8; }
.template-comparison-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.comparison-card { position: relative; overflow: hidden; padding: 18px; border: 1px solid rgba(242,219,165,.14); border-radius: 13px; background: linear-gradient(170deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.comparison-card::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:#e8b85f; }
.comparison-card-1::before { background:#75c7a4; } .comparison-card-2::before { background:#e77e67; } .comparison-card-3::before { background:#8baae8; }
.comparison-card > header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.comparison-card header .template-code { color:var(--sim-gold); font:900 22px ui-monospace,monospace; }
.comparison-card h3 { margin:4px 0 0; color:#dce8e2; font-size:12px; font-weight:600; }
.reconciliation-badge { flex:0 0 auto; padding:5px 9px; border:1px solid; border-radius:999px; font:800 11px/1 ui-monospace,monospace; letter-spacing:.02em; }
.reconciliation-badge.is-passed { border-color:#56846f; color:#effcf5; background:#183d30; }
.reconciliation-badge.is-failed { border-color:#9b615c; color:#fff4f1; background:#532d29; }
.parameter-strip { display:grid; grid-template-columns:auto 1fr auto 1fr; align-items:baseline; gap:5px; margin:17px 0; padding:11px; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:rgba(0,0,0,.15); }
.parameter-strip b { color:#fff1cb; font-size:16px; } .parameter-strip span { color:#718a7e; font-size:10px; }
.comparison-card dl { margin:0; }
.comparison-card dl div { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px dashed rgba(255,255,255,.08); }
.comparison-card dt { color:#839a90; font-size:11px; } .comparison-card dd { margin:0; color:#f4ecdc; font:700 12px ui-monospace,monospace; }
.comparison-card footer { margin-top:13px; color:#60786d; font:10px ui-monospace,monospace; }
.simulation-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:12px; padding:15px 17px; border:1px solid rgba(242,219,165,.14); border-radius:11px; background:rgba(255,255,255,.045); }
.simulation-toolbar b, .simulation-toolbar span { display:block; } .simulation-toolbar b { color:#f6e4b9; font-size:14px; } .simulation-toolbar span { margin-top:4px; color:#81998e; font-size:11px; }
.simulation-filter > div:last-child { display:flex; gap:8px; } .simulation-filter .el-select { width:130px; }
.simulation-table { --el-table-bg-color:#f9f7f0; --el-table-tr-bg-color:#f9f7f0; --el-table-header-bg-color:#eae5d8; --el-table-border-color:#d9d1be; overflow:hidden; border-radius:10px; }
.aggregate-status-cell { display:flex; align-items:center; gap:6px; min-height:28px; white-space:nowrap; }
.aggregate-coverage { min-width:34px; padding:5px 7px; border-radius:7px; color:#526057; background:#e4e7e1; font:900 10px ui-monospace,monospace; text-align:center; }
.aggregate-coverage.is-completed { color:#effaf4; background:#275b47; }
.aggregate-coverage.is-partial { color:#563e10; background:#ead69a; }
.aggregate-coverage.is-running { color:#61430a; background:#f1cd74; }
.aggregate-coverage.is-failed { color:#fff5f3; background:#87463f; }
.aggregate-scenario-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; border:1px solid #c9cec8; border-radius:999px; color:#5d675f; background:#f1f2ee; font:700 10px/1 ui-monospace,monospace; transition:transform .15s ease,box-shadow .15s ease; }
.aggregate-scenario-chip b { font-size:11px; }
.aggregate-scenario-chip.is-completed { border-color:#6e9b85; color:#244d3c; background:#dcece4; cursor:pointer; }
.aggregate-scenario-chip.is-running { border-color:#d3a842; color:#63450e; background:#fae9b8; cursor:pointer; }
.aggregate-scenario-chip.is-failed { border-color:#bd7770; color:#742f29; background:#f5dedb; cursor:pointer; }
.aggregate-scenario-chip:not(:disabled):hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(28,53,42,.14); }
.aggregate-scenario-chip:disabled { opacity:.72; cursor:default; }
.run-audit-head, .run-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.run-audit-head div, .run-summary-grid div { padding:13px; border:1px solid #e2dccd; border-radius:9px; background:#f8f5ed; }
.run-audit-head span, .run-summary-grid span { display:block; color:#8a8170; font-size:11px; }
.run-audit-head b, .run-summary-grid b { display:block; margin-top:6px; color:#263c32; }
.run-period-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:4px 0 12px; padding:11px 13px; border:1px solid #ded7c8; border-radius:10px; background:linear-gradient(135deg,#f6f2e8,#fbfaf5); }
.run-period-bar > div:first-child b, .run-period-bar > div:first-child span { display:block; }
.run-period-bar > div:first-child b { color:#354d42; font-size:13px; }
.run-period-bar > div:first-child span { margin-top:3px; color:#8a8170; font-size:10px; }
.run-period-bar .el-radio-group { flex-shrink:0; }
.run-period-bar .el-radio-button__inner { min-width:52px; font-weight:700; }
@media (max-width: 1280px) { .simulation-overview, .template-comparison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .simulation-console { padding:14px; border-radius:10px; }
  .simulation-hero { align-items:flex-start; flex-direction:column; }
  .simulation-overview, .template-comparison-grid, .run-audit-head, .run-summary-grid { grid-template-columns:1fr; }
  .simulation-toolbar { align-items:flex-start; flex-direction:column; }
  .run-period-bar { align-items:flex-start; flex-direction:column; } .run-period-bar .el-radio-group { display:flex; flex-wrap:wrap; }
  .trend-canvas { height:245px; } .trend-canvas svg { height:220px; } .trend-labels { inset:220px 0 auto; }
}

.simulation-toolbar-actions { display:flex; align-items:center; gap:8px; }
.simulation-template-edit-dialog .el-dialog__body { padding-top:10px; }
.template-editor-meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.template-editor-meta span { padding:6px 9px; border:1px solid #ded5bf; border-radius:999px; color:#6d6251; background:#f7f2e7; font:700 10px ui-monospace,monospace; }
.template-editor-form { margin-top:16px; }
.template-editor-form section { margin-top:12px; padding:14px 16px 2px; border:1px solid #e2dac7; border-radius:10px; background:linear-gradient(155deg,#fcfaf4,#f5f0e4); }
.template-editor-form section h4 { margin:0 0 12px; color:#17372a; font:800 14px "Noto Serif SC","Songti SC",serif; letter-spacing:.04em; }
.template-editor-form section h4::before { content:''; display:inline-block; width:4px; height:14px; margin-right:8px; border-radius:3px; background:#bd8d38; vertical-align:-2px; }
.template-editor-form .el-form-item { margin-bottom:13px; }
.template-editor-form .el-form-item__label { color:#6f6554; font-size:11px; font-weight:700; }
.template-editor-form .el-input-number { width:100%; }
.template-editor-form .el-input-number .el-input__inner { text-align:left; }
.sim-danger-ghost.el-button { border-color:rgba(245,108,108,.5); background:rgba(245,108,108,.08); color:#ffb2b2; }
.sim-danger-ghost.el-button:hover { border-color:#f56c6c; background:rgba(245,108,108,.18); color:#ffd4d4; }
.reset-scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:15px 0; }
.reset-scope-grid div { padding:12px; border:1px solid #e3dccb; border-radius:8px; background:#faf7ef; }
.reset-scope-grid span { display:block; color:#8d8372; font-size:11px; }
.reset-scope-grid b { display:block; margin-top:5px; color:#263c32; font:800 20px ui-monospace,monospace; }
.reset-token-note { margin:0; color:#9a8f7d; font-size:11px; }
@media (max-width:760px) { .simulation-toolbar-actions { flex-wrap:wrap; } .reset-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .simulation-template-edit-dialog { width:96% !important; } }


/* Operating performance — a restrained financial ledger, shared by production and simulation. */
.brand { display:flex; flex-direction:column; gap:4px; }
.brand small { color:#afbdc5; font:700 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.14em; }
.topbar { display:flex; align-items:center; justify-content:space-between; }
.topbar > div { display:flex; align-items:center; gap:12px; }
.topbar > small { color:#8e9ba4; font-size:11px; }
.runtime-pill { display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border:1px solid; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.06em; }
.runtime-pill.is-simulation { color:#8a6416; border-color:#dbc078; background:#fff8df; }
.runtime-pill.is-production { color:#315e57; border-color:#9dbbb4; background:#edf7f4; }

.operating-ledger { --ledger-ink:#172a31; --ledger-muted:#728087; --ledger-gold:#b68a2c; --ledger-paper:#f6f1e6; --ledger-line:#d8d0bd; position:relative; overflow:hidden; padding:24px; border:1px solid #cfc5ad; border-radius:14px; color:var(--ledger-ink); background:linear-gradient(140deg,rgba(255,255,255,.96),rgba(244,239,226,.94)),repeating-linear-gradient(0deg,transparent 0 27px,rgba(93,83,59,.035) 27px 28px); box-shadow:0 18px 50px rgba(31,41,45,.11); }
.operating-ledger::before { content:""; position:absolute; inset:0 auto 0 0; width:6px; background:linear-gradient(#c49a3e,#315e57); }
.operating-hero { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:4px 4px 22px 10px; border-bottom:1px solid var(--ledger-line); }
.operating-kicker { margin:0 0 6px; color:var(--ledger-gold); font:800 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.18em; }
.operating-hero h2 { margin:0; font-family:"Noto Serif SC","Songti SC",STSong,serif; font-size:36px; font-weight:700; letter-spacing:-.05em; }
.operating-hero p:not(.operating-kicker) { margin:7px 0 0; color:var(--ledger-muted); font-size:12px; }
.operating-seal { width:96px; height:96px; display:grid; place-items:center; border:2px double; border-radius:50%; transform:rotate(-7deg); font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.12em; opacity:.82; }
.operating-seal.is-simulation { color:#9b741f; border-color:#bc9138; background:rgba(255,248,222,.64); }
.operating-seal.is-production { color:#315e57; border-color:#47786d; background:rgba(230,244,239,.62); }
.operating-toolbar { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; margin:17px 0 0; padding:14px 15px; border:1px solid #ddd5c3; border-radius:9px; background:rgba(255,255,255,.68); }
.operating-toolbar label { display:block; margin-bottom:5px; color:#8b7445; font-size:10px; font-weight:800; letter-spacing:.05em; }
.operating-scope .el-select { width:230px; }
.operating-dates { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.operating-dates label { flex:0 0 100%; }
.operating-dates .el-date-editor { width:142px; }
.operating-dates > span { color:#9b927f; }
.operating-presets { display:flex; gap:4px; }
.operating-query { margin-left:auto; }
.operating-status-line { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:9px 13px; color:#6f7a7f; font-size:10px; }
.operating-status-line span:first-child { margin-right:auto; }
.operating-status-line i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#4f8075; box-shadow:0 0 0 4px rgba(79,128,117,.12); }
.operating-status-line b { color:#354d54; }
.operating-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:7px 0 13px; }
.operating-metrics article { position:relative; min-height:112px; overflow:hidden; padding:16px 17px; border:1px solid #ddd5c3; border-radius:9px; background:rgba(255,255,255,.78); box-shadow:0 6px 20px rgba(52,55,52,.045); animation:ledger-rise .38s ease both; }
.operating-metrics article::after { content:""; position:absolute; inset:auto -18px -30px auto; width:80px; height:80px; border:1px solid rgba(182,138,44,.18); border-radius:50%; }
.operating-metrics article:nth-child(2n)::after { border-color:rgba(49,94,87,.2); }
.operating-metrics span,.operating-metrics strong,.operating-metrics small { display:block; }
.operating-metrics span { color:#7f898b; font-size:10px; font-weight:700; letter-spacing:.05em; }
.operating-metrics strong { margin-top:13px; color:#20343b; font:700 21px/1.15 "Noto Serif SC","Songti SC",serif; }
.operating-metrics small { margin-top:8px; color:#8e7950; font-size:10px; }
.operating-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr); gap:11px; }
.operating-panel { min-width:0; padding:17px; border:1px solid #d9d1be; border-radius:10px; background:rgba(255,255,255,.76); }
.operating-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:15px; }
.operating-panel > header span { color:#a17c30; font:800 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.14em; }
.operating-panel > header h3 { margin:3px 0 0; color:#263b42; font-family:"Noto Serif SC","Songti SC",serif; font-size:15px; }
.operating-panel > header small { color:#8a9494; font-size:10px; }
.trend-ledger-panel { min-height:300px; }
.operating-trend-scroll { overflow-x:auto; padding:5px 0 4px; }
.operating-trend { min-width:620px; height:190px; display:flex; align-items:flex-end; gap:9px; padding:10px 8px 0; border-bottom:1px solid #bfb7a4; background:repeating-linear-gradient(0deg,transparent 0 44px,rgba(112,104,85,.08) 44px 45px); }
.operating-month { min-width:43px; flex:1; text-align:center; }
.operating-bar-stack { height:150px; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.operating-bar-stack i { width:8px; min-height:2px; border-radius:3px 3px 0 0; transition:height .35s ease; }
.operating-month b { display:block; margin-top:7px; color:#55666b; font-size:9px; }
.operating-month small { display:block; margin-top:3px; color:#9a8a67; font-size:8px; white-space:nowrap; }
.is-revenue { background:#b68a2c; } .is-granted { background:#a77c50; } .is-released { background:#46776d; }
.operating-legend { display:flex; gap:15px; margin-top:12px; color:#778287; font-size:9px; }
.operating-legend i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:2px; }
.operating-empty { height:190px; display:grid; place-items:center; color:#9a9c94; font-size:12px; }
.release-mix-body { display:grid; grid-template-columns:148px minmax(0,1fr); align-items:center; gap:15px; }
.release-donut { width:140px; height:140px; display:grid; place-items:center; border-radius:50%; }
.release-donut::before { content:""; grid-area:1/1; width:92px; height:92px; border-radius:50%; background:#faf8f1; box-shadow:inset 0 0 0 1px #ded7c7; }
.release-donut > div { z-index:1; grid-area:1/1; text-align:center; }
.release-donut b,.release-donut span { display:block; }
.release-donut b { color:#294a46; font:700 16px "Noto Serif SC","Songti SC",serif; }
.release-donut span { margin-top:5px; color:#8a8f8d; font-size:8px; }
.release-mix-body ul { margin:0; padding:0; list-style:none; }
.release-mix-body li { display:grid; grid-template-columns:7px minmax(64px,1fr) auto 40px; align-items:center; gap:7px; padding:5px 0; border-bottom:1px dotted #ddd5c5; font-size:9px; }
.release-mix-body li > i { width:7px; height:7px; border-radius:2px; }
.release-mix-body li > span { color:#6e797c; }
.release-mix-body li > b { color:#30474c; font-size:9px; }
.release-mix-body li > small { color:#9a8b6c; text-align:right; }
.member-ledger-panel dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
.member-ledger-panel dl div { padding:12px; border-left:3px solid #c09a49; background:#f8f5ed; }
.member-ledger-panel dt { color:#7b8588; font-size:9px; }
.member-ledger-panel dd { margin:7px 0 0; color:#243b42; font:700 16px "Noto Serif SC","Songti SC",serif; }
.reconcile-ledger-panel { transition:border-color .2s,background .2s; }
.reconcile-ledger-panel.is-passed { border-color:#a8c3bb; background:linear-gradient(145deg,#f8fbf9,#eef5f2); }
.reconcile-ledger-panel.is-failed { border-color:#d4afa8; background:linear-gradient(145deg,#fffafa,#f8eeee); }
.reconcile-ledger-panel header > b { padding:4px 8px; border-radius:5px; color:#315e57; background:#dcece7; font-size:10px; }
.reconcile-ledger-panel.is-failed header > b { color:#8a4237; background:#f2deda; }
.equation-row { display:grid; grid-template-columns:1fr auto 18px 1.3fr auto; align-items:center; gap:7px; padding:9px 0; border-bottom:1px solid rgba(98,117,111,.12); font-size:9px; }
.equation-row span { color:#69797b; }
.equation-row b { color:#294247; font-size:10px; }
.equation-row em { color:#b08a39; font-style:normal; text-align:center; }
.reconcile-ledger-panel footer { margin-top:10px; color:#7d8a8b; font-size:9px; }
.operating-table-panel { margin-top:11px; }
.operating-table { --el-table-bg-color:transparent; --el-table-tr-bg-color:transparent; --el-table-header-bg-color:#ebe5d7; --el-table-border-color:#d8d0bd; }
.operating-table .cell { font-size:10px; }
@keyframes ledger-rise { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media (max-width:1280px) { .operating-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .operating-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .operating-ledger { padding:14px; } .operating-hero { align-items:flex-start; } .operating-hero h2 { font-size:29px; } .operating-seal { width:72px; height:72px; } .operating-toolbar { align-items:stretch; flex-direction:column; } .operating-query { margin-left:0; } .operating-metrics { grid-template-columns:1fr; } .release-mix-body { grid-template-columns:1fr; justify-items:center; } .member-ledger-panel dl { grid-template-columns:repeat(2,minmax(0,1fr)); } .topbar > small { display:none; } }
