/* ===================================================
   古邑鸣TM · 统一样式系统 v2.0
   设计令牌 → 页面组件 → 响应式
   (C) 2026 古邑鸣TM - 财源滚滚设计
   =================================================== */

/* ----- 设计令牌（CSS 自定义属性） ----- */
:root {
  /* 品牌色 — 鲜绿 */
  --green: #16c46f;
  --green-D: #0fa75c;
  --green-L: #e5f9ef;

  /* 强调色 — 鲜橙 */
  --orange: #ff8200;
  --orange-D: #e86e00;
  --orange-L: #fff3e4;

  /* 中性色 */
  --ink: #16191d;
  --ink-2: #2d323a;
  --muted: #5b6472;
  --muted-2: #8b95a3;
  --line: #e6ecf2;
  --line-2: #f4f8fb;
  --bg: #f6f9fc;
  --card-bg: #ffffff;
  --surface: linear-gradient(180deg, #f6f9fc 0%, #ffffff 70%);
  --white: #ffffff;

  /* 阴影与圆角与字号 */
  --shadow-sm: 0 2px 8px rgba(0,0,0,.05);
  --shadow-md: 0 6px 20px rgba(0,0,0,.07);
  --shadow-lg: 0 12px 34px rgba(0,0,0,.10);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --fs-sm: 13px;
  --fs-base: 15px;
  --fs-lg: 17px;
  --fs-xl: 20px;
  --fs-hero: 34px;
  --lh-base: 1.7;
  --fw-bold: 800;
  --fw-semibold: 600;
  --max-w: 1100px;
  --nav-h: 84px;
  /* ── 扩展色板：状态色 + 旧变量兼容别名（供历史页面引用） ── */
  --overlay: rgba(17,20,24,.58);
  /* 兼容别名：旧变量名 → 新色板 */
  --brand: var(--green);
  --brand-dark: var(--green-D);
  --brand-light: var(--green-L);
  --accent: var(--orange);
  --accent-dark: var(--orange-D);
  --accent-light: var(--orange-L);
  --radius: var(--radius-md);
  --shadow: var(--shadow-md);
  /* 状态·成功 */
  --success: #16a34a;
  --success-2: #4ade80;
  --success-D: #166534;
  --success-L: #f0fdf4;
  --success-line: #bbf7d0;
  /* 状态·警告 */
  --warn: #ffb300;
  --warn-2: #ffe082;
  --warn-D: #7a4b0e;
  --warn-L: #fffbeb;
  --warn-line: #fde68a;
  /* 状态·危险 */
  --danger: #dc2626;
  --danger-2: #f87171;
  --danger-3: #fca5a5;
  --danger-D: #991b1b;
  --danger-L: #fef2f2;
  --danger-line: #fecaca;
  /* 信息 */
  --info: #2c5f8a;
  --info-D: #174b78;
  --info-L: #eef7ff;
  /* 品牌扩展 */
  --orange-line: #ffd08a;
  --green-line: #a8e6c4;
  --info-line: #b6d3ff;
  --shimmer-a: #63a4ff;
  --shimmer-b: #83e0af;
}


/* ===================================
   兼容层：旧组件类（已去 !important、色值映射到新色板）
   =================================== */
/* ---------- 文档转换 / 合同 ---------- */
.upload-zone {
  border: 2px dashed var(--line); border-radius: 10px; padding: 28px;
  text-align: center; color: var(--muted); cursor: pointer; margin-bottom: 16px;
  transition: border-color .15s ease, background .15s ease;
  background: var(--white);
}
.upload-zone:hover { border-color: var(--accent); background: var(--accent-light); }
.upload-zone.drag { border-color: var(--accent); background: var(--accent-light); }
.upload-icon { font-size: 34px; line-height: 1; margin-bottom: 10px; }
.upload-title { color: var(--ink); font-size: 18px; font-weight: 650; margin-bottom: 6px; }
.upload-hint { font-size: 14px; }
.convert-groups { margin: 8px 0 18px; }
.group-label { color: var(--muted); font-size: 15px; font-weight: 700; margin: 14px 0 8px; }
.type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.type-grid.main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.type-btn {
  min-height: 48px; border: 1px solid var(--line); background: var(--white); color: var(--ink);
  border-radius: 10px; padding: 10px 12px; cursor: pointer; text-align: left;
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
  font-size: 16px; font-weight: 600;
}
.type-grid.main .type-btn { padding: 18px 16px; min-height: 86px; font-size: 18px; }
.type-btn small { flex-basis: 100%; color: var(--muted); font-size: 14px; font-weight: 400; }
.type-btn:hover, .type-btn:focus-visible { border-color: var(--accent); background: var(--accent-light); transform: translateY(-1px); }
.type-btn.active { border-color: var(--brand); background: var(--brand-light); color: var(--brand-dark); box-shadow: 0 0 0 3px rgba(7,193,96,.13); }
.type-icon { font-size: 20px; }
.convert-status { border-radius: 12px; padding: 16px; margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.convert-status.success { background: var(--success-L); border: 1px solid var(--success-line); }
.convert-status.error { background: var(--danger-L); border: 1px solid var(--danger-line); }
.convert-status.loading { background: var(--info-L); border: 1px solid var(--info-line); }
.convert-status.hint { background: var(--orange-L); border: 1px solid var(--orange-line); }
.status-head { display: flex; align-items: center; gap: 8px; font-size: 17px; }
.status-icon { font-size: 20px; }
.convert-status p { margin: 0; color: var(--muted); word-break: break-word; }
.status-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.convert-status.loading::after {
  content: ""; height: 6px; border-radius: 999px; background: linear-gradient(90deg, var(--shimmer-a), var(--shimmer-b), var(--shimmer-a));
  background-size: 200% 100%; animation: loading-bar 1.2s linear infinite;
}
}
.file-name { font-size: 15px; color: var(--ink); margin-bottom: 12px; word-break: break-all; }
.download-link {
  display: inline-block; margin-top: 10px;
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-D) 100%);
  color: var(--white);
  padding: 9px 18px; border-radius: 8px; font-size: 15px; font-weight: 500;
  box-shadow: 0 4px 12px rgba(255, 77, 0, .28);
  transition: background .15s ease, transform .12s ease;
}
.download-link:hover { background: linear-gradient(135deg, var(--orange-D) 0%, var(--orange-D) 100%); color: var(--white); transform: translateY(-1px); }
@media (max-width: 600px)  {.btn, .download-link, .nav-login { min-height: 48px; }
.download-link { display: inline-flex; align-items: center; justify-content: center; padding: 13px 18px; font-size: 16px; }
.upload-zone { padding: 24px 14px; }
.upload-title { font-size: 16px; }
.type-grid, .type-grid.main { grid-template-columns: 1fr; }
.type-grid.main .type-btn { min-height: 76px; }
.status-actions .btn, .status-actions .download-link { width: 100%; }
.convert-status { padding: 14px; }
}

/* ---------- SVG 图标 24x24 ---------- */
.icon-24{display:inline-block;vertical-align:middle;width:24px;height:24px;flex-shrink:0}
.icon-24 + span,.icon-24 + .label,.icon-24 + b{margin-left:6px}
/* ---------- Official homepage ---------- */
.official-main { overflow: hidden; }
.official-container, .wide-shell { width:min(1560px,calc(100% - 64px)); margin:0 auto; }
.page-eyebrow { margin:0 0 12px; color:var(--brand-dark); font-size:16px; font-weight:850; }
.page-desc { margin:16px 0 24px; max-width:1000px; color:var(--ink-2); font-size:22px; line-height:1.7; }
@media (max-width:820px)  {.official-container,.wide-shell {width:calc(100% - 32px)}
.hero-desc,.page-desc {font-size:18px}
}
.official-main,.compact-hero,.tools-hero,.tools-body,.contact-page,.contact-hero,.contact-body,#site-footer { background:var(--green); }
.compact-products,.tool-entry,.aside-card,.filter-btn,.compact-metrics div,.hero-eyebrow,.compact-contact,.contact-main-card,.contact-side article { border-color:rgba(0,0,0,.18); background:rgba(0,0,0,.08); box-shadow:none; backdrop-filter:none; }
.compact-copy h1,.compact-products h2,.tools-hero h1,.contact-hero h1,.tool-entry h2,.aside-card h2,.contact-main-card strong,.contact-side h2 { color:var(--ink); }
.hero-desc,.page-desc,.compact-metrics dt,.compact-metrics dd,.compact-product-grid span,.tool-entry p,.aside-card p,.contact-main-card p,.contact-main-card small,.compact-product-grid span { color:var(--ink); }
.hero-eyebrow,.page-eyebrow,.tool-entry>span:first-child,.compact-points span,.filter-btn.active,.compact-products header p,.soon { color:var(--orange); background:rgba(0,0,0,.08); border:0; }
.compact-copy h1 span,.tool-entry h2 em,.contact-hero h1 em { color:var(--orange); }
.btn,.download-link { background:var(--orange); color:var(--ink); box-shadow:none; }
.btn:hover,.download-link:hover { background:var(--orange); color:var(--ink); transform:none; }
.compact-contact,.contact-main-card { background:rgba(0,0,0,.08); }
.compact-contact strong,.contact-main-card span { color:var(--orange); }
.compact-contact a,.compact-contact small,.compact-contact span,.contact-main-card a,.contact-main-card p,.contact-main-card small { color:var(--ink); }
.contact-page { min-height:calc(100vh - 88px); display:flex; flex-direction:column; }
.contact-hero { padding:54px 0 30px; }
.contact-body { flex:1; padding-bottom:60px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.78fr); gap:34px; align-items:stretch; }
.contact-layout { grid-template-columns:minmax(0,1fr) 380px; }
.contact-main-card { border-radius:26px; padding:44px; display:flex; flex-direction:column; justify-content:center; }
.contact-main-card span { font-size:17px; font-weight:850; }
.contact-main-card strong { font-size:32px; margin:12px 0 8px; }
.contact-main-card a { color:var(--orange); font-size:72px; font-weight:900; line-height:1.1; text-decoration:none; }
.contact-main-card a:hover { text-decoration:underline; }
.contact-main-card p { margin:10px 0 0; font-size:20px; font-weight:700; }
.contact-main-card small { margin-top:12px; font-size:16px; }
.contact-qr-card { border-radius:26px; padding:34px; display:grid; justify-items:center; align-content:center; background:var(--white); border:1px solid var(--line); box-shadow:0 14px 34px rgba(17,32,44,.06); }
.contact-qr-card h2 { margin:0 0 18px; color:var(--ink); font-size:26px; }
.contact-qr-frame { width:230px; height:230px; padding:12px; border:1px solid var(--line); border-radius:18px; background:var(--white); }
.contact-qr-frame img { width:100%; height:100%; object-fit:contain; display:block; }
.contact-qr-card p { margin:14px 0 0; color:var(--muted); font-size:17px; }
.contact-more { margin-top:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.contact-more article { border-radius:22px; padding:28px; background:var(--white); border:1px solid var(--line); box-shadow:0 10px 26px rgba(17,32,44,.05); }
.contact-more h2 { margin:0 0 10px; font-size:24px; color:var(--ink); }
.contact-more p { margin:0 0 18px; color:var(--muted); font-size:17px; line-height:1.7; }
.contact-more a { color:var(--orange); font-size:19px; font-weight:800; text-decoration:none; }
.contact-more a:hover { text-decoration:underline; }
@media (max-width:1000px)  {.contact-layout {grid-template-columns:1fr}
.contact-main-card {padding:32px}
.contact-main-card a {font-size:50px}
}
@media (max-width:620px)  {.contact-hero {padding:38px 0 20px}
.contact-main-card {padding:24px}
.contact-main-card a {font-size:38px}
}
.official-main, .compact-main, .compact-hero, .tools-page, .tools-hero, .tools-body,
.contact-page, .contact-hero, .contact-body, #site-footer {
  background: var(--white);
}
.official-container, .wide-shell { width:min(1440px,calc(100% - 56px)); margin:0 auto; }
.compact-copy h1, .tools-hero h1, .contact-hero h1 { color:var(--ink); font-size:62px; line-height:1.12; }
.hero-eyebrow, .page-eyebrow, .compact-products header p,
.tool-entry > span:first-child, .compact-points span, .soon {
  color:var(--orange);
  background:transparent;
  border:0;
  font-weight:800;
}
.hero-desc, .page-desc, .compact-metrics dt, .compact-metrics dd,
.compact-product-grid strong, .compact-product-grid span,
.tool-entry h2, .tool-entry p, .aside-card h2, .aside-card p,
.contact-main-card strong, .contact-main-card p, .contact-main-card small,
.contact-side h2, .contact-side p { color:var(--ink); }
.btn, .download-link, .filter-btn.active {
  background:var(--orange);
  color:var(--ink);
  border:0;
  box-shadow:none;
  font-weight:800;
}
.btn:hover, .btn:focus-visible, .download-link:hover, .filter-btn.active:hover {
  background:var(--orange);
  color:var(--ink);
  transform:none;
}
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.72fr); gap:34px; }
.contact-main-card, .contact-side article {
  background:var(--white);
  border:2px solid var(--green);
  border-radius:24px;
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}
.contact-main-card span { color:var(--orange); font-weight:850; }
.contact-main-card a { color:var(--orange); font-size:72px; font-weight:900; }
@media (max-width:1100px)  {.compact-grid, .tools-layout, .contact-layout { grid-template-columns:1fr; }
.compact-copy h1, .tools-hero h1, .contact-hero h1 { font-size:48px; }
}
@media (max-width:700px)  {.official-container, .wide-shell { width:calc(100% - 32px); }
.compact-copy h1, .tools-hero h1, .contact-hero h1 { font-size:34px; }
.compact-products, .tool-entry, .aside-card, .contact-main-card, .contact-side article { padding:22px; border-radius:18px; }
.contact-main-card a { font-size:44px; }
}
.gy-home,
.gy-tools,
.gy-solutions {
  background:var(--bg);
}
.gy-shell {
  width:min(1500px, calc(100% - 40px));
  margin:0 auto;
}
.gy-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:var(--green);
  font-size:16px;
  font-weight:800;
}
.gy-eyebrow span {
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(7,193,96,.15);
}
.gy-actions {
  display:flex;
  gap:14px;
  margin-bottom:32px;
}
.gy-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 26px;
  border-radius:999px;
  font-size:17px;
  font-weight:750;
  text-decoration:none;
  transition:.16s;
}
.gy-btn.primary {
  background:var(--green);
  color:var(--white);
  border:1px solid var(--green);
  box-shadow:0 10px 26px rgba(7,193,96,.22);
}
.gy-btn.primary:hover {
  background:var(--green-D);
  border-color:var(--green-D);
}
.gy-btn.ghost {
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
}
.gy-btn.ghost:hover {
  border-color:var(--green);
  color:var(--green);
}
.gy-section {
  padding:64px 0;
}
.gy-section-head {
  max-width:820px;
  margin-bottom:36px;
}
.gy-kicker {
  margin:0 0 8px;
  color:var(--green);
  font-size:15px;
  font-weight:800;
}
.gy-section-head h2 {
  margin:0 0 12px;
  color:var(--ink);
  font-size:38px;
  line-height:1.2;
}
.gy-section-head p {
  margin:0;
  color:var(--muted);
  font-size:18px;
}
.gy-tools-hero,
.gy-solutions-hero {
  padding:64px 0 44px;
  background:linear-gradient(135deg,var(--white) 0%, var(--green-L) 100%);
  border-bottom:1px solid var(--line);
}
.gy-tools-hero h1,
.gy-solutions-hero h1 {
  margin:0 0 12px;
  color:var(--ink);
  font-size:50px;
  line-height:1.15;
}
.gy-tools-hero p,
.gy-solutions-hero p {
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:19px;
  line-height:1.7;
}
.gy-solutions-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}
.gy-solutions-grid article {
  min-height:240px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
}
.gy-solutions-grid strong {
  display:block;
  margin-bottom:10px;
  color:var(--ink);
  font-size:22px;
}
.gy-solutions-grid p {
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
@media (max-width:1000px)  {.gy-solutions-grid { grid-template-columns:1fr; }
}
@media (max-width:700px)  {.gy-shell { width:calc(100% - 28px); }
.gy-actions { display:grid; }
.gy-section { padding:44px 0; }
.gy-section-head h2 { font-size:30px; }
}
/* ---------- Contact QR final layout ---------- */
.contact-page .contact-layout {
  grid-template-columns:minmax(0,1fr) 380px;
}
.contact-page .contact-qr-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:26px;
  padding:34px;
  display:grid;
  justify-items:center;
  align-content:center;
  box-shadow:0 14px 34px rgba(17,32,44,.06);
}
.contact-page .contact-qr-card h2 {
  margin:0 0 18px;
  color:var(--ink);
  font-size:26px;
}
.contact-page .contact-qr-frame {
  width:230px;
  height:230px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
}
.contact-page .contact-qr-frame img {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.contact-page .contact-qr-card p {
  margin:14px 0 0;
  color:var(--muted);
  font-size:17px;
}
.contact-page .contact-more {
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.contact-page .contact-more article {
  border-radius:22px;
  padding:28px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(17,32,44,.05);
}
.contact-page .contact-more h2 {
  margin:0 0 10px;
  font-size:24px;
  color:var(--ink);
}
.contact-page .contact-more p {
  margin:0 0 18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.contact-page .contact-more a {
  color:var(--orange);
  font-size:19px;
  font-weight:800;
  text-decoration:none;
}
.contact-page .contact-more a:hover {
  text-decoration:underline;
}
@media (max-width:1000px)  {.contact-page .contact-layout { grid-template-columns:1fr; }
.contact-page .contact-more { grid-template-columns:1fr; }
}
.official-main,
.gy-home,
.gy-tools,
.gy-solutions,
.contact-page,
#site-footer {
  background:var(--white);
  color:var(--ink);
}
.gy-eyebrow,
.gy-kicker { color:var(--orange); }
.gy-eyebrow span { background:var(--green); box-shadow:0 0 0 5px rgba(7,193,96,.15); }
.gy-hero h1,
.gy-section-head h2,
.gy-tools-hero h1,
.gy-solutions-hero h1 { color:var(--ink); }
.gy-hero p,
.gy-section-head p,
.gy-tools-hero p,
.gy-solutions-hero p { color:var(--ink); }
.gy-btn.primary {
  background:var(--green);
  color:var(--white);
  border:2px solid var(--green);
  box-shadow:0 10px 24px rgba(7,193,96,.20);
}
.gy-btn.primary:hover {
  background:var(--green-D);
  border-color:var(--green-D);
}
.gy-btn.ghost {
  background:var(--white);
  color:var(--green);
  border:2px solid var(--green);
  box-shadow:none;
}
.gy-btn.ghost:hover {
  background:var(--green-L);
  color:var(--green-D);
}
.gy-hero-metrics div,
.gy-capability-grid > *,
.gy-workflow-grid > div,
.gy-trust-grid article,
.gy-filter-card,
.gy-aside-card,
.gy-tool-card,
.contact-main-card,
.contact-qr-card,
.contact-more article {
  background:var(--white);
  border:1px solid var(--green);
  color:var(--ink);
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}
.gy-hero-metrics strong,
.gy-capability-grid strong,
.gy-workflow-grid strong,
.gy-trust-grid strong,
.gy-filter-card h2,
.gy-aside-card h2,
.gy-tool-card header strong,
.contact-main-card strong,
.contact-qr-card h2,
.contact-more h2 { color:var(--ink); }
.gy-hero-metrics span,
.gy-capability-grid p,
.gy-workflow-grid p,
.gy-trust-grid p,
.gy-aside-card p,
.gy-tool-card p,
.contact-main-card p,
.contact-main-card small,
.contact-qr-card p,
.contact-more p { color:var(--ink); }
.gy-capability-grid > *:hover,
.gy-workflow-grid > div:hover,
.gy-tool-card:hover,
.contact-main-card:hover,
.contact-qr-card:hover,
.contact-more article:hover {
  border-color:var(--orange);
  box-shadow:0 12px 30px rgba(255,77,0,.10);
}
.contact-main-card a,
.gy-aside-card.contact a,
.contact-more a,
.gy-footer-links a { color:var(--orange); }
.contact-qr-frame {
  background:var(--white);
  border:1px solid var(--green);
}
/* ---------- Legal pages ---------- */
.legal-page {
  max-width:900px;
  margin:0 auto;
  padding:38px 0 58px;
}
.legal-hero {
  padding:42px 0 26px;
  text-align:left;
}
.legal-hero h1 {
  margin:0 0 10px;
  color:var(--ink);
  font-size:34px;
}
.legal-updated {
  display:inline-flex;
  padding:6px 12px;
  border:1px solid var(--green-line);
  border-radius:999px;
  background:var(--green-L);
  color:var(--ink);
  font-size:14px;
  font-weight:700;
}
.legal-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  box-shadow:0 12px 30px rgba(17,32,44,.05);
}
.legal-card h2 {
  margin:28px 0 10px;
  color:var(--ink);
  font-size:22px;
}
.legal-card h2:first-child { margin-top:0; }
.legal-card p,
.legal-card li {
  color:var(--ink);
  font-size:16px;
  line-height:1.85;
}
.legal-card p { margin:0 0 12px; }
.legal-card ul,
.legal-card ol { padding-left:22px; }
.legal-card li { margin-bottom:8px; }
.legal-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.legal-actions a {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:999px;
  font-size:16px;
  font-weight:750;
}
.legal-actions .primary { background:var(--green); color:var(--white); }
.legal-actions .secondary { border:2px solid var(--orange); color:var(--orange-D); }
.tier h4 {
  margin:0 0 6px;
  color:var(--ink);
  font-size:18px;
}
.status-actions {
  align-items:stretch;
}
.status-actions .cta-btn {
  min-width:150px;
}
@media (max-width:700px)  {.cta-btn,
  .btn,
  .btn-pay,
  .download-link,
  .status-actions .cta-btn,
  .status-actions .download-link,
  .status-actions .btn {
    width:100%;
    min-height:50px;
    font-size:16px;
  }
.status-actions,
  .tier-list {
    display:grid;
    grid-template-columns:1fr;
  }
.tier {
    width:100%;
  }
.qr-box {
    width:min(320px, calc(100vw - 32px));
  }
}
@media (max-width: 700px)  {.gy-actions { gap: 10px; }
.gy-btn { text-align: center; }
}
@media (max-width: 820px)  {.gy-eyebrow { font-size: 12px; margin: 0 0 6px; }
.gy-eyebrow span { display: none; }
.gy-actions { display: flex; gap: 8px; margin: 0 0 12px; }
.gy-actions .gy-btn { flex: 1; min-width: 0; padding: 10px 16px; font-size: 14px; }
.gy-section-head { margin: 0 0 14px; }
.gy-section-head h2 { font-size: 22px; }
.gy-section-head p { font-size: 14px; }
.gy-section { padding: 24px 0; }
}
@media (max-width: 820px)  {.gy-hero .gy-eyebrow { display: none; }
.gy-actions { margin: 0 0 8px; gap: 6px; }
.gy-actions .gy-btn { font-size: 13px; padding: 8px 12px; min-height: 36px; }
.gy-section-head { margin: 0 0 10px; }
.gy-section-head .gy-kicker { display: none; }
.gy-section-head h2 { font-size: 18px; margin: 0; }
.gy-section-head > p { display: none; }
.gy-section { padding: 14px 0; }
}


/* ----- Reset & Base ----- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size:var(--fs-base);line-height:var(--lh-base);color:var(--ink);
  background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit;border:none;outline:none;background:none}
button{cursor:pointer}
.container{margin:0 auto;padding:0 20px;max-width:var(--max-w)}

/* ----- 页面顶部进度条 ----- */
#page-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--green),var(--orange));z-index:9999;transition:width .3s,opacity .4s;border-radius:0 2px 2px 0}

/* ===================================
   NAV 导航系统（桌面 + 移动）
   =================================== */
#site-nav{
  position:sticky;top:0;z-index:1000;
  background:var(--white);border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;align-items:center;height:var(--nav-h);
  max-width:var(--max-w);margin:0 auto;padding:0 20px;gap:28px;
}
.nav-logo{
  display:flex;align-items:center;flex-shrink:0;text-decoration:none;
}
.nav-logo-img{height:72px;width:auto;display:block}
.gy-footer-logo{height:112px;width:auto;display:block}
.gy-404-brand img{height:80px;width:auto;display:block}







.nav-links{
  display:flex;align-items:center;gap:24px;flex:1;
}
.nav-links a{
  font-size:var(--fs-base);font-weight:var(--fw-semibold);
  color:var(--muted);padding:6px 0;position:relative;
  transition:color .15s;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--green-D)}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:3px;border-radius:var(--radius-pill);background:var(--green);
}
.nav-login-wrap{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-login-btn{
  background:var(--green);color:var(--white);
  padding:9px 20px;border-radius:var(--radius-pill);
  font-size:14px;font-weight:var(--fw-bold);transition:background .15s;
}
.nav-login-btn:hover{background:var(--green-D);color:var(--white)}
.nav-vip{font-weight:var(--fw-bold);color:var(--orange-D);font-size:14px}

/* 汉堡菜单（移动端） */
.hamburger{
  display:none;flex-direction:column;justify-content:center;
  width:28px;height:28px;gap:5px;cursor:pointer;flex-shrink:0;
}
.hamburger i{
  display:block;height:3px;background:var(--ink);border-radius:2px;
  transition:transform .25s,opacity .2s;
}
.hamburger.open i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open i:nth-child(2){opacity:0}
.hamburger.open i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* 移动端抽屉菜单 */
.mobile-menu{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
  background:var(--white);z-index:999;padding:20px;
  flex-direction:column;gap:4px;overflow-y:auto;
  animation:slideDown .25s ease;
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  display:block;padding:14px 16px;font-size:17px;font-weight:600;
  border-radius:var(--radius-md);color:var(--ink);
  transition:background .15s;
}
.mobile-menu a:hover,.mobile-menu a.active{background:var(--green-L);color:var(--green-D)}
.mobile-menu .m-login{margin-top:16px;text-align:center}
.mobile-menu .m-login .btn{display:inline-block;background:var(--green);color:var(--white);padding:12px 30px;border-radius:var(--radius-pill);font-weight:700;font-size:16px}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* ===================================
   HERO 区域
   =================================== */
.hero{
  background:radial-gradient(1000px 400px at 85% -5%,rgba(255,130,0,.12),transparent 60%),
              radial-gradient(800px 380px at 5% 15%,rgba(22,196,111,.14),transparent 50%),
              var(--white);
  border-bottom:1px solid var(--line);
  padding:48px 20px 40px;
}
.hero-in{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;gap:40px;
}
.hero-copy{flex:1;min-width:0}
.hero-copy h1{
  font-size:var(--fs-hero);font-weight:var(--fw-bold);line-height:1.25;
  margin:0 0 6px;
}
.hero-copy h1 em{font-style:normal;color:var(--green-D)}
.hero-copy h1 strong{font-style:normal;color:var(--orange-D)}
.hero-copy p{
  font-size:var(--fs-lg);color:var(--muted);
  margin:14px 0 24px;line-height:1.7;max-width:600px;
}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(120deg,var(--green),var(--green-D));
  color:var(--white);padding:14px 28px;border-radius:var(--radius-pill);
  font-size:var(--fs-base);font-weight:var(--fw-bold);transition:box-shadow .2s;
  box-shadow:0 6px 18px rgba(22,196,111,.30);
}
.btn-primary:hover{box-shadow:0 8px 24px rgba(22,196,111,.40)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid var(--line);background:var(--white);
  color:var(--ink);padding:12px 24px;border-radius:var(--radius-pill);
  font-size:var(--fs-base);font-weight:var(--fw-semibold);transition:border-color .15s;
}
.btn-ghost:hover{border-color:var(--green);color:var(--green-D)}
.btn-ghost-orange{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid var(--orange);background:var(--orange-L);
  color:var(--orange-D);padding:12px 24px;border-radius:var(--radius-pill);
  font-size:var(--fs-base);font-weight:var(--fw-semibold);
}

/* Hero 右侧可视化卡片 */
.hero-card-stack{flex:0 0 290px;position:relative;height:312px}
.hero-card{
  position:absolute;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  padding:15px;width:196px;
}
.hero-card h5{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.hero-card .row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:6px 0}
.hero-card .row b{font-size:15px}
.hero-card .row b.g{color:var(--green-D)}
.hero-card .row b.o{color:var(--orange-D)}
.hero-card .bar{height:8px;border-radius:6px;background:var(--line-2);margin:4px 0}
.hero-card .bar.g{background:linear-gradient(90deg,var(--green),var(--green-L))}
.hero-card .bar.o{background:linear-gradient(90deg,var(--orange),var(--orange-L))}
.hero-card.a{top:4px;left:0;transform:rotate(-2.5deg)}
.hero-card.b{top:162px;left:34px;transform:rotate(1.5deg)}

/* ===================================
   CATEGORY 分类头
   =================================== */
.cat-head{
  display:flex;align-items:center;gap:10px;
  font-size:var(--fs-lg);font-weight:var(--fw-bold);
  margin:28px 0 16px;color:var(--ink);
}
.cat-head .pill{
  font-size:12px;padding:4px 12px;border-radius:var(--radius-pill);
  font-weight:700;
}
.cat-head .pill.orange{background:var(--orange-L);color:var(--orange-D)}
.cat-head .pill.green{background:var(--green-L);color:var(--green-D)}

/* ===================================
   工具卡片网格
   =================================== */
.tool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.tool-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:20px;
  transition:box-shadow .2s,transform .15s,border-color .2s;
  display:flex;flex-direction:column;
}
.tool-card:hover{
  box-shadow:var(--shadow-md);transform:translateY(-2px);
  border-color:var(--green);
}
.tool-card.highlight{background:linear-gradient(180deg,#e6f8ef 0%,#fff1e4 100%) left/4px 100% no-repeat,var(--surface)}
.tool-card.highlight-green{background:linear-gradient(180deg,#e6f8ef 0%,#fff1e4 100%) left/4px 100% no-repeat,var(--surface)}
.tool-card .ico-wrap{
  width:46px;height:46px;border-radius:12px;
  background:var(--green-L);display:flex;align-items:center;
  justify-content:center;font-size:22px;margin-bottom:14px;
}
.tool-card.highlight .ico-wrap{background:var(--orange-L)}
.tool-card h3{
  font-size:var(--fs-lg);font-weight:var(--fw-bold);
  margin-bottom:6px;color:var(--ink);
}
.tool-card p{
  font-size:var(--fs-base);color:var(--muted);
  line-height:var(--lh-base);margin-bottom:14px;flex:1;
}
.tool-card .tags{display:flex;flex-wrap:wrap;gap:6px}
.tool-card .tags span{
  font-size:12px;color:var(--muted-2);
  background:var(--line-2);padding:3px 10px;border-radius:var(--radius-pill);
}
.tool-card .tags .new{
  background:var(--orange);color:var(--white);
}

/* ===================================
   FOOTER 页脚
   =================================== */
#site-footer{
  border-top:1px solid var(--line);
  background:var(--white);margin-top:40px;
}

.gy-footer-brand{
  display:flex;flex-direction:column;align-items:center;gap:9px;margin-bottom:16px;
}
.gy-footer-brand .nav-logo{font-size:16px}
.gy-footer-tag{font-size:13px;color:var(--muted-2)}
.gy-404-brand{display:flex;justify-content:center;margin:0 0 18px}

.gy-footer{
  max-width:var(--max-w);margin:0 auto;padding:28px 20px 20px;
}
.gy-footer-links{
  display:flex;flex-wrap:wrap;gap:10px 24px;
  justify-content:center;margin-bottom:16px;
}
.gy-footer-links a{
  font-size:14px;color:var(--muted);transition:color .15s;
}
.gy-footer-links a:hover{color:var(--green-D)}
.gy-footer-legal{
  text-align:center;font-size:13px;color:var(--muted-2);line-height:2;
}
.gy-footer-legal a{color:var(--muted-2);text-decoration:underline}
.gy-footer-legal a:hover{color:var(--green-D)}
.gy-footer-legal strong{font-weight:600;color:var(--muted)}

/* ===================================
   最近使用 / 引导 / 其他
   =================================== */
.recent-tools{
  margin-bottom:20px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 18px;
}
.recent-tools h2{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:10px}
.recent-list{display:flex;flex-wrap:wrap;gap:8px}
.recent-list a{
  display:flex;align-items:center;gap:6px;
  background:var(--green-L);padding:6px 14px;border-radius:var(--radius-pill);
  font-size:13px;font-weight:600;color:var(--green-D);transition:background .15s;
}
.recent-list a:hover{background:var(--green-L)}
.recent-list a small{font-weight:400;color:var(--muted-2);font-size:11px}

/* 首次引导 */
.guide-mask{
  position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;
  animation:fadeIn .3s;
}
.guide-box{
  background:var(--white);border-radius:var(--radius-lg);
  padding:32px;max-width:380px;width:90%;text-align:center;
  position:relative;
  box-shadow:var(--shadow-lg);
}
.guide-close{position:absolute;top:10px;right:14px;border:none;background:none;font-size:24px;line-height:1;color:#9aa7b4;cursor:pointer}
.guide-close:hover{color:var(--ink)}
.guide-icon{font-size:44px;margin-bottom:8px}
.guide-box h3{font-size:20px;font-weight:800;margin-bottom:14px}
.guide-box ol{text-align:left;margin:0 0 20px 20px;line-height:2.2;color:var(--muted)}
.guide-box .btn{
  background:linear-gradient(120deg,var(--green),var(--green-D));
  color:var(--white);padding:12px 40px;border-radius:var(--radius-pill);
  font-weight:700;font-size:15px;transition:box-shadow .2s;
}
.guide-box .btn:hover{box-shadow:0 6px 20px rgba(22,196,111,.35)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ===================================
   响应式：移动端 < 768px
   =================================== */
@media (max-width:768px){
  :root{
    --fs-hero:26px;--fs-lg:15px;--fs-base:14px;
    --nav-h:54px;
  }
  .container{padding:0 16px}

  /* 导航 */
  .hamburger{display:flex}
  .nav-links,.nav-login-wrap{display:none}
  .nav-inner{gap:0;justify-content:space-between}
  .nav-logo-img{height:44px}

  /* Hero */
  .hero-in{flex-direction:column;gap:24px}
  .hero{padding:28px 16px 24px}
  .hero-copy h1{font-size:var(--fs-hero)}
  .hero-copy p{font-size:var(--fs-base);max-width:none}
  .hero-cta{gap:10px}
  .btn-primary,.btn-ghost{padding:12px 20px;font-size:13px}
  .hero-card-stack{display:none}

  /* 卡片网格 */
  .tool-grid{grid-template-columns:1fr;gap:12px}

  /* 分类头 */
  .cat-head{font-size:16px;margin:22px 0 12px}

  /* 分类间距 */
  .gy-footer{padding:20px 16px}
  .gy-footer-links{gap:8px 16px}
}

/* ===================================
   响应式：大屏 > 1400px
   =================================== */
@media (min-width:1280px){
  .tool-grid{grid-template-columns:repeat(3,1fr);gap:18px}
}

/* ===================================
   工具类
   =================================== */
body .hidden{display:none}
.text-center{text-align:center}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mb-16{margin-bottom:16px}
.flex-center{display:flex;align-items:center;justify-content:center}
/* ===================================
   工具中心页（tools.html）
   =================================== */
.tools-layout{display:flex;gap:28px;align-items:flex-start;padding:28px 0}
.tools-sidebar{flex:0 0 260px;position:sticky;top:90px}
.tools-sidebar .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;margin-bottom:16px}
.tools-sidebar .card h3{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--muted)}
.filter-list{display:flex;flex-direction:column;gap:4px}
.filter-btn{text-align:left;padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:var(--muted);transition:.12s;border:none;background:none;cursor:pointer}
.filter-btn:hover{background:var(--green-L);color:var(--green-D)}
.filter-btn.active{background:var(--green);color:var(--white)}
.tools-sidebar .contact-card{background:var(--orange-L);border:1px solid var(--orange);border-radius:var(--radius-md);padding:16px;text-align:center}
.tools-sidebar .contact-card h3{color:var(--orange-D)}
.tools-sidebar .contact-card .phone{font-size:18px;font-weight:800;color:var(--orange-D);display:block;margin:8px 0}
.tools-sidebar .contact-card small{font-size:12px;color:var(--muted)}
.tools-main{flex:1;min-width:0}
.tools-main .hero-bar{
  background:radial-gradient(600px 180px at 100% 0%,rgba(255,130,0,.10),transparent 60%),radial-gradient(500px 160px at 0% 20%,rgba(22,196,111,.12),transparent 55%),var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 30px;margin-bottom:24px;
}
.tools-main .hero-bar h1{font-size:26px;font-weight:800;margin-bottom:6px}
.tools-main .hero-bar p{color:var(--muted);font-size:14px;max-width:560px;line-height:1.7;margin:0}
.tool-card-item{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:22px;
  display:flex;flex-direction:column;transition:box-shadow .2s,transform .15s;
  margin-bottom:14px;
}
.tool-card-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--green)}
.tool-card-item.hide{display:none}
.tool-card-item header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.tool-card-item header .badge{font-size:11px;padding:3px 10px;border-radius:var(--radius-pill);font-weight:700;background:var(--green-L);color:var(--green-D)}
.tool-card-item header .badge.biz{background:var(--orange-L);color:var(--orange-D)}
.tool-card-item header .badge.kb{background:var(--line-2);color:var(--muted)}
.tool-card-item header .badge.doc{background:var(--green-D);color:var(--white)}
.tool-card-item header .badge.contract{background:var(--orange-D);color:var(--white)}
.tool-card-item h3{font-size:17px;font-weight:700;margin:0}
.tool-card-item p{font-size:14px;color:var(--muted);margin:0 0 12px;line-height:1.6;flex:1}
.tool-card-item .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tool-card-item .tags span{font-size:12px;color:var(--muted-2);background:var(--line-2);padding:3px 10px;border-radius:var(--radius-pill)}
.tool-card-item .btn{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:var(--white);padding:10px 22px;border-radius:var(--radius-pill);font-weight:600;font-size:14px;align-self:flex-start;transition:background .15s}
.tool-card-item .btn:hover{background:var(--green-D)}
.tool-card-item .soon-text{font-size:13px;color:var(--muted-2);font-weight:600}
.tool-card-item.upcoming .btn{opacity:.5;pointer-events:none}

@media(max-width:768px){
  .tools-layout{flex-direction:column;padding:16px 0}
  .tools-sidebar{flex:none;position:static;width:100%}
  .filter-list{flex-direction:row;flex-wrap:wrap;gap:6px}
  .tools-main .hero-bar{padding:20px 18px}
  .tools-main .hero-bar h1{font-size:20px}
}

/* ===================================
   工具页通用组件（invest / shop-payback / break-even / tax / convert / contract 等）
   =================================== */
.tool-wrap{padding:28px 0 50px}
.tool-head{margin-bottom:20px}
.tool-head h2{margin:0 0 4px;font-size:26px;font-weight:800;color:var(--ink)}
.tool-head p{color:var(--muted);font-size:15px;margin:0;line-height:1.7}

/* Panel */
.panel{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;margin-bottom:20px}

/* Row / Field */
.panel .row{display:flex;gap:16px;margin:14px 0}
.panel .row .field{flex:1}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:15px;transition:border-color .15s;background:var(--white)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(22,196,111,.12)}

/* Cashflow */
.cashflow-rule{background:var(--orange-L);border:1px solid var(--orange);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;color:var(--orange-D);line-height:1.6;margin-bottom:14px}
.cashflow-rule strong{font-weight:700}
.cashflow-rule code{background:var(--white);padding:2px 8px;border-radius:4px;font-size:13px}
.cashflow-header{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}
.cashflow-header strong{font-size:15px}
.cashflow-rows{display:flex;flex-direction:column;gap:8px}
.cashflow-row{display:flex;align-items:center;gap:10px}
.cashflow-row label{font-size:14px;font-weight:600;width:56px;flex-shrink:0}
.cashflow-input{flex:1;padding:9px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:14px}
.cashflow-input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(22,196,111,.12)}
.cashflow-remove{padding:6px 12px;font-size:12px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:.12s;background:var(--white);color:var(--muted)}
.cashflow-remove:hover{background:var(--danger-L);border-color:var(--danger-2);color:var(--danger)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:var(--white);padding:11px 22px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 4px 12px rgba(22,196,111,.30)}
.btn:hover{background:var(--green-D);transform:translateY(-1px);box-shadow:0 6px 16px rgba(22,196,111,.40)}
.btn.secondary{background:var(--orange-L);color:var(--orange-D);box-shadow:none}
.btn.secondary:hover{background:var(--orange);color:var(--white);box-shadow:0 4px 12px rgba(255,130,0,.25)}
.btn.ghost{background:var(--white);color:var(--green-D);border:1.5px solid var(--green);box-shadow:none}
.btn.ghost:hover{background:var(--green-L)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Tool Actions */
.tool-actions{display:flex;gap:12px;margin:18px 0 10px;flex-wrap:wrap}

/* Messages */
.msg{font-size:14px;padding:8px 12px;border-radius:var(--radius-sm);margin:8px 0}
.msg.ok{background:var(--green-L);color:var(--green-D)}
.msg.err{background:var(--danger-L);color:var(--danger)}

/* Results */
.result{display:none;margin:16px 0}
.result.show{display:block}
.result h4{font-size:16px;font-weight:800;margin-bottom:12px;color:var(--ink)}
.result table{width:100%;border-collapse:collapse}
.result td{padding:8px 12px;font-size:14px;border-bottom:1px solid var(--line-2)}
.result td:first-child{font-weight:600;color:var(--muted);width:200px}
.result td:last-child{font-weight:700;color:var(--ink)}
.formula-note{font-size:13px;color:var(--muted-2);margin:12px 0 0;font-style:italic}
.result-cta{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;background:var(--orange-L);border:1px solid var(--orange);border-radius:var(--radius-md)}
.result-cta strong{font-size:14px;color:var(--orange-D)}
.result-cta span{font-size:13px;color:var(--muted);display:block;margin-top:2px}
.result-cta .cta-btn{margin-left:auto;white-space:nowrap}
.cta-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;cursor:pointer;transition:.15s;text-decoration:none}
.cta-btn.primary{background:var(--green);color:var(--white);box-shadow:0 4px 14px rgba(22,196,111,.25)}
.cta-btn.primary:hover{background:var(--green-D)}
.cta-btn.secondary{background:var(--white);color:var(--orange-D);border:1.5px solid var(--orange)}
.cta-btn.secondary:hover{background:var(--orange-L)}

/* Hidden / section utilities */
body .hide{display:none}

@media(max-width:768px){
  .tool-wrap{padding:16px 0 30px}
  .tool-head h2{font-size:20px}
  .panel{padding:16px}
  .panel .row{flex-direction:column;gap:10px}
  .cashflow-row{flex-wrap:wrap}
  .cashflow-row label{width:auto}
  .result td:first-child{width:auto}
  .result-cta{flex-wrap:wrap}
  .result-cta .cta-btn{margin-left:0}
  .tool-actions{flex-direction:column}
  .tool-actions .btn{width:100%;justify-content:center}
}

/* ---- 后台管理入口（仅管理员可见） ---- */
.nav-admin-link{
  font-size:13px;font-weight:700;color:var(--orange-D);
  border:1.5px solid var(--orange);border-radius:var(--radius-pill);
  padding:6px 14px;text-decoration:none;display:inline-flex;align-items:center;gap:5px;
  transition:all .15s;
}
.nav-admin-link:hover{background:var(--orange-L);color:var(--orange-D)}
#nav-admin-m{margin-top:10px;justify-content:center}
