/* 凡晨律师团队 · 民间借贷自助诉讼系统
 * Luxe Law UI (v9) — 轻奢、克制、层级分明；兼容旧页面 class（container/header/card/btn/...）
 * 目标：全站统一、排版稳定、不重叠、不“花里胡哨”，但一眼看上去更高级更专业。
 */

:root{
  /* 背景与文本 */
  --fc-bg: #f4f6fb;
  --fc-bg2:#eef2f8;
  --fc-card:#ffffff;
  --fc-text:#0b1220;
  --fc-sub:#475569;
  --fc-muted:#64748b;
  --fc-line: rgba(15,23,42,0.10);

  /* 品牌（律所气质：深海军蓝 + 低饱和香槟金） */
  --fc-navy:#0f2d5c;
  --fc-navy2:#153a73;
  --fc-gold:#b08d57;

  --fc-primary: var(--fc-navy);
  --fc-link: #113b8e;

  --fc-shadow: 0 22px 55px rgba(2,6,23,0.10);
  --fc-shadow2: 0 10px 28px rgba(2,6,23,0.08);

  --fc-radius-lg: 22px;
  --fc-radius: 18px;
  --fc-radius-sm: 14px;

  --fc-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
             Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC",
             "Source Han Sans SC", "WenQuanYi Micro Hei", sans-serif;
}

html{ box-sizing: border-box; }
*,*::before,*::after{ box-sizing: inherit; }

body.fc-app{
  margin:0;
  color: var(--fc-text);
  font-family: var(--fc-font);
  line-height: 1.7;
  background:
    radial-gradient(1100px 520px at 18% -10%, rgba(15,45,92,0.12), transparent 60%),
    radial-gradient(900px 520px at 92% 0%, rgba(176,141,87,0.12), transparent 62%),
    linear-gradient(180deg, var(--fc-bg) 0%, var(--fc-bg2) 100%);
  overflow-x: hidden;
}
body.fc-app::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  /* 细腻的“纸感网格”，极低不透明度 */
  background-image:
    linear-gradient(rgba(15,23,42,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,0.03) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.55;
  z-index:-1;
}

a{ color: var(--fc-link); text-decoration: none; }
a:hover{ text-decoration: none; }

.fc-wrap{
  max-width: 1120px;
  margin: 0 auto;
  padding: 18px 12px 36px;
}

/* ===== Footer (全站兜底注入) ===== */
.fc-footer{
  margin-top: 26px;
  border-top: 1px solid rgba(15,23,42,0.08);
  background: rgba(244,246,251,0.75);
  backdrop-filter: blur(10px);
}
.fc-footer-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 18px 12px 22px;
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 14px 18px;
  align-items:start;
}
.fc-footer-brand{
  font-weight: 950;
  letter-spacing: -0.01em;
  color: rgba(15,23,42,0.92);
}
.fc-footer-sub{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(71,85,105,0.95);
  line-height: 1.85;
}
.fc-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 8px 10px;
}
.fc-footer-links a{
  font-size: 13px;
  color: rgba(15,45,92,0.92);
  padding: 8px 10px;
  border-radius: var(--fc-radius-sm);
  border: 1px solid rgba(15,45,92,0.12);
  background: rgba(255,255,255,0.82);
}
.fc-footer-links a:hover{
  border-color: rgba(15,45,92,0.22);
  background: rgba(255,255,255,0.92);
}
.fc-footer-friends{
  grid-column: 1 / -1;
  display:grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items:start;
  padding-bottom: 2px;
}
.fc-footer-friends-label{
  font-size: 13px;
  font-weight: 900;
  color: rgba(15,23,42,0.92);
  white-space: nowrap;
  padding-top: 8px;
}
.fc-footer-friends-links{
  display:flex;
  flex-wrap:wrap;
  gap: 8px 10px;
}
.fc-footer-friends-links a{
  font-size: 13px;
  color: rgba(15,45,92,0.92);
  padding: 8px 10px;
  border-radius: var(--fc-radius-sm);
  border: 1px solid rgba(15,45,92,0.12);
  background: rgba(255,255,255,0.82);
}
.fc-footer-friends-links a:hover{
  border-color: rgba(15,45,92,0.22);
  background: rgba(255,255,255,0.92);
}
.fc-footer-note{
  grid-column: 1 / -1;
  font-size: 12.5px;
  color: rgba(71,85,105,0.92);
  line-height: 1.8;
}

/* ===== Topbar ===== */

/* ===== Site announce (站点公告) ===== */
.fc-announce{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 12px 10px;
}
.fc-announce-inner{
  border: 1px solid rgba(15,45,92,0.14);
  background: rgba(255,255,255,0.82);
  border-radius: var(--fc-radius);
  box-shadow: 0 10px 26px rgba(2,6,23,0.06);
  padding: 12px 14px;
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content: space-between;
}
.fc-announce-bar{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.fc-announce-title{
  font-weight: 900;
  color: rgba(15,45,92,0.92);
  flex: 0 0 auto;
}
.fc-marquee{
  position: relative;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 13.5px;
  color: rgba(71,85,105,0.96);
  line-height: 1.7;
}
.fc-marquee-track{
  display:inline-flex;
  align-items:center;
  width: max-content;
  will-change: transform;
  animation: fc-marquee var(--fc-marquee-duration, 18s) linear infinite;
}
.fc-marquee-text{ white-space: nowrap; }
.fc-marquee-gap{ width: 56px; flex: 0 0 56px; }
@keyframes fc-marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .fc-marquee-track{ animation: none; transform: none; }
}
.fc-announce-actions{
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex: 0 0 auto;
}

@media (max-width: 720px){
  /* 公告条移动端：保持同一行（按钮固定宽，跑马灯占满剩余宽度） */
  .fc-announce-inner{
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 10px;
  }
  .fc-announce-bar{ flex: 1 1 auto; min-width: 0; gap: 8px; }
  .fc-announce-title{ font-size: 12.5px; }
  .fc-announce-actions{
    flex: 0 0 96px;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
  }
  .fc-announce-actions .fc-btn{
    width: 96px;
    padding: 8px 10px;
    height: 34px;
    font-size: 12.5px;
    white-space: nowrap;
  }
}
@media (max-width: 420px){
  /* 极窄屏：隐藏“公告”字样，避免挤压导致换行 */
  .fc-announce-title{ display:none; }
}

.fc-topbar{
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(244,246,251,0.80);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15,23,42,0.08);
}
.fc-topbar-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 12px 12px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
.fc-brand{ display:flex; flex-direction:column; gap: 2px; min-width: 220px; }
.fc-brand-top{
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(71,85,105,0.80);
}
.fc-brand-main{
  font-size: 16px;
  font-weight: 850;
  letter-spacing: -0.01em;
  color: var(--fc-text);
}
.fc-nav{
  display:flex;
  align-items:center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 720px){
  /* Mobile: keep top nav in one line with horizontal scroll */
  .fc-nav{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    padding-bottom: 2px;
  }
  .fc-nav::-webkit-scrollbar{ display:none; }
}
.fc-link{
  position: relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  /* 圆角矩形（非胶囊） */
  border-radius: var(--fc-radius-sm);
  font-size: 13px;
  color: rgba(71,85,105,0.95);
  border: 1px solid transparent;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease, color .16s ease;
}
.fc-link:hover{
  background: rgba(15,45,92,0.06);
  border-color: rgba(15,45,92,0.10);
  transform: translateY(-1px);
  color: rgba(15,45,92,0.96);
}
.fc-link.active{
  color: var(--fc-navy);
  background: rgba(15,45,92,0.08);
  border-color: rgba(15,45,92,0.14);
}
.fc-link.active::after{
  content:"";
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fc-navy), var(--fc-gold));
  opacity: 0.95;
}

/* ===== Hero / Header (兼容 .header/.hero) ===== */
.fc-hero,
.header,
.hero{
  border-radius: var(--fc-radius-lg);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.86);
  box-shadow: var(--fc-shadow);
  padding: 24px 22px 18px;
  position: relative;
  overflow: hidden;
}
.fc-hero::before,
.header::before,
.hero::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 3px;
  background: linear-gradient(90deg, var(--fc-navy), var(--fc-gold));
  opacity: 0.95;
}
.fc-hero h1,
.header h1,
.hero h1{
  margin: 0 0 10px;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -0.02em;
}
.fc-hero p,
.header p,
.hero p{
  margin: 0;
  color: rgba(71,85,105,0.95);
  font-size: 14.5px;
  line-height: 1.9;
  max-width: 920px;
}
.fc-hero p + p,
.header p + p,
.hero p + p{ margin-top: 6px; }

/* ===== Cards (兼容 .card) ===== */
.fc-card,
.card{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: var(--fc-card);
  box-shadow: var(--fc-shadow2);
  padding: 18px 18px 16px;
  margin-top: 14px;
}
.fc-card h2,
.card h2{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.fc-card h3,
.card h3{
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 860;
}
.fc-muted{ color: var(--fc-muted); }

/* 文本排版 */
.fc-prose{
  color: rgba(15,23,42,0.92);
  font-size: 14.5px;
  line-height: 1.9;
}
.fc-prose p{ margin: 10px 0; }
.fc-prose ul{ margin: 10px 0 10px 18px; }
.fc-prose li{ margin: 6px 0; }

/* ===== Grid utilities ===== */
.grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 14px;
}
.grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 980px){
  .grid.cols-2, .grid.cols-3{ grid-template-columns: 1fr; }
}

/* 首页专用（从原 inline style 抽出，稳定不重叠） */
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: stretch;
}
@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
}
.hero-card{
  border-radius: var(--fc-radius-lg);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.86);
  box-shadow: var(--fc-shadow);
  padding: 22px 22px 18px;
}
.hero-title{ margin:0 0 10px; font-size: 34px; font-weight: 950; letter-spacing: -0.02em; }
.hero-sub{ margin:0; color: rgba(71,85,105,0.95); line-height: 1.95; font-size: 15px; max-width: 720px; }
.hero-actions{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.mini-kpi{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 520px){ .mini-kpi{ grid-template-columns: 1fr; } }
.kpi{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: linear-gradient(135deg, rgba(15,45,92,0.04), rgba(176,141,87,0.04));
  padding: 14px 14px 12px;
}
.kpi b{ display:block; font-size: 18px; letter-spacing:-0.01em; color: var(--fc-navy); }
.kpi span{ display:block; margin-top: 6px; color: rgba(71,85,105,0.95); font-size: 12.5px; }

/* Tile cards (工具箱 / 模板中心) */
.tile{ display:block; text-decoration:none; color: inherit; }
.tile .fc-card, .tile .card{
  height: 100%;
  margin-top: 0;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.tile:hover .fc-card, .tile:hover .card{
  transform: translateY(-2px);
  border-color: rgba(15,45,92,0.18);
  box-shadow: 0 18px 46px rgba(2,6,23,0.12);
}
.k{ font-size: 12px; color: rgba(15,45,92,0.92); font-weight: 950; letter-spacing: 0.02em; }
.t{ margin: 6px 0 6px; font-size: 16px; font-weight: 900; letter-spacing: -0.01em; }
.d{ color: rgba(71,85,105,0.95); font-size: 13px; line-height: 1.85; margin: 0; }

/* ===== Buttons (兼容 .btn / .fc-primary-btn / .fc-btn) ===== */
.btn,
.fc-btn,
.fc-primary-btn,
button{
  font-family: var(--fc-font);
}
.btn,
.fc-btn,
.fc-primary-btn{
  appearance: none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 16px;
  /* 圆角矩形（非胶囊） */
  border-radius: var(--fc-radius-sm);
  border: 1px solid rgba(15,23,42,0.14);
  background: rgba(255,255,255,0.95);
  color: rgba(15,23,42,0.92);
  cursor: pointer;
  font-weight: 780;
  transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease, border-color .14s ease;
}
.btn:hover,
.fc-btn:hover,
.fc-primary-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(15,45,92,0.20);
  box-shadow: 0 14px 28px rgba(2,6,23,0.10);
}
.btn:active,
.fc-btn:active,
.fc-primary-btn:active{
  transform: translateY(0);
}

.btn.primary,
.fc-btn.primary,
.fc-primary-btn,
.primary{
  border-color: rgba(15,45,92,0.25);
  color: #fff;
  background: linear-gradient(135deg, var(--fc-navy), var(--fc-navy2));
  box-shadow: 0 18px 40px rgba(15,45,92,0.18);
}
.btn.primary:hover,
.fc-btn.primary:hover,
.fc-primary-btn:hover{
  box-shadow: 0 22px 50px rgba(15,45,92,0.22);
  border-color: rgba(15,45,92,0.30);
}
.btn.ghost{
  background: rgba(255,255,255,0.86);
}
.btn-danger,
.fc-btn.danger{
  border-color: rgba(239,68,68,0.25);
  background: rgba(239,68,68,0.06);
  color: rgba(127,29,29,0.92);
}

/* ===== Inputs / forms ===== */
input[type="text"],input[type="number"],input[type="date"],input[type="email"],input[type="password"],select,textarea{
  width: 100%;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.14);
  background: rgba(255,255,255,0.98);
  outline: none;
  font-size: 14px;
  transition: border-color .14s ease, box-shadow .14s ease;
}
textarea{ min-height: 110px; resize: vertical; }
input:focus,select:focus,textarea:focus{
  border-color: rgba(15,45,92,0.35);
  box-shadow: 0 0 0 3px rgba(15,45,92,0.10);
}
label{ color: rgba(71,85,105,0.95); font-size: 13px; }

/* ===== Common blocks in legacy pages ===== */
.container{ max-width: 100%; margin: 0; }
.disclaimer{
  margin-top: 12px;
  color: rgba(71,85,105,0.92);
  font-size: 13px;
}
.info-box, .warning-box, .highlight-box, .key-point{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: linear-gradient(135deg, rgba(15,45,92,0.04), rgba(176,141,87,0.04));
  padding: 14px 14px 12px;
  margin: 12px 0;
}
.important{
  border-color: rgba(176,141,87,0.30);
  background: linear-gradient(135deg, rgba(176,141,87,0.10), rgba(15,45,92,0.03));
}

/* Quick links */
.quick-links{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 980px){ .quick-links{ grid-template-columns: 1fr; } }
.quick-link{
  display:block;
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--fc-shadow2);
  padding: 14px 14px 12px;
  color: inherit;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.quick-link:hover{
  transform: translateY(-2px);
  border-color: rgba(15,45,92,0.18);
  box-shadow: 0 18px 46px rgba(2,6,23,0.12);
}

/* FAQ */
.faq-item{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.95);
  box-shadow: var(--fc-shadow2);
  overflow: hidden;
}
.faq-question{
  width: 100%;
  text-align:left;
  padding: 14px 14px;
  font-weight: 880;
  color: rgba(15,23,42,0.92);
  background: transparent;
  border: 0;
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
}
.faq-question:hover{ background: rgba(15,45,92,0.04); }
.faq-answer{
  padding: 0 14px 14px;
  color: rgba(71,85,105,0.95);
  font-size: 14px;
  line-height: 1.85;
  display:none;
}
.faq-item.open .faq-answer{ display:block; }

/* Search box */
.search-box{
  display:flex;
  gap: 10px;
  align-items:center;
  margin-top: 14px;
}
.search-box input{ flex: 1; }

/* Timeline */
.timeline-vertical{
  position: relative;
  padding-left: 18px;
  margin-top: 10px;
}
.timeline-vertical::before{
  content:"";
  position:absolute;
  left: 6px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(15,45,92,0.55), rgba(176,141,87,0.55));
}
.timeline-item{
  position: relative;
  padding: 10px 12px 10px 12px;
  margin: 10px 0;
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
}
.timeline-item::before{
  content:"";
  position:absolute;
  left: -18px;
  top: 16px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--fc-gold);
  box-shadow: 0 0 0 4px rgba(176,141,87,0.18);
}
.timeline-title{ font-weight: 900; color: rgba(15,23,42,0.92); margin: 0 0 4px; }
.timeline-desc{ color: rgba(71,85,105,0.95); margin: 0; }

/* Diagnosis / Evidence layout */
.layout{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 980px){ .layout{ grid-template-columns: 1fr; } }
.section-title{
  font-size: 14px;
  font-weight: 900;
  color: rgba(15,45,92,0.92);
  letter-spacing: 0.02em;
  margin: 0 0 12px;
}
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 980px){ .form-row{ grid-template-columns: 1fr; } }
.checkbox-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 980px){ .checkbox-row{ grid-template-columns: 1fr; } }
.checkbox-item{
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  padding: 10px 10px 8px;
}
.hint{
  margin-top: 6px;
  color: rgba(71,85,105,0.90);
  font-size: 12.8px;
  line-height: 1.8;
}
.result-card{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.96);
  box-shadow: var(--fc-shadow2);
  padding: 16px 16px 14px;
}
.result-header{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items:center;
  justify-content: flex-start;
  margin-bottom: 10px;
}
.risk-badge, .case-type-badge, .tag, .check-tag{
  display:inline-flex;
  align-items:center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(15,45,92,0.04);
  color: rgba(15,45,92,0.92);
  font-weight: 850;
  font-size: 12px;
}
.risk-badge.high{ background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.22); color: rgba(127,29,29,0.92); }
.risk-badge.medium{ background: rgba(245,158,11,0.10); border-color: rgba(245,158,11,0.24); color: rgba(120,53,15,0.92); }
.risk-badge.low{ background: rgba(34,197,94,0.10); border-color: rgba(34,197,94,0.22); color: rgba(20,83,45,0.92); }

.result-section{ margin-top: 12px; }
.result-section h4{ margin: 0 0 8px; font-size: 14px; font-weight: 900; }
.result-section ul{ margin: 0 0 0 18px; }
.unsupported-notice{
  border-radius: 14px;
  border: 1px solid rgba(176,141,87,0.30);
  background: rgba(176,141,87,0.10);
  padding: 10px 10px 8px;
  margin: 10px 0;
  color: rgba(88,59,26,0.92);
  font-size: 13px;
}


.layout{ align-items: stretch; }
.layout > *{ min-width: 0; }
.result-card{ height: 100%; }

.fc-scroll-panel,
.fc-ai-output,
#aiAnalysisText{
  max-height: 360px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.fc-scroll-panel::-webkit-scrollbar,
.fc-ai-output::-webkit-scrollbar,
#aiAnalysisText::-webkit-scrollbar{
  width: 10px;
  height: 10px;
}
.fc-scroll-panel::-webkit-scrollbar-thumb,
.fc-ai-output::-webkit-scrollbar-thumb,
#aiAnalysisText::-webkit-scrollbar-thumb{
  background: rgba(148,163,184,0.65);
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.92);
}
.fc-scroll-panel::-webkit-scrollbar-track,
.fc-ai-output::-webkit-scrollbar-track,
#aiAnalysisText::-webkit-scrollbar-track{
  background: rgba(241,245,249,0.92);
  border-radius: 999px;
}

.fc-doc-textarea,
.fc-doc-textarea[readonly],
#evDirText{
  font-family: var(--fc-font);
  color: rgba(15,23,42,0.94);
}

.fc-check-card,
label.fc-check-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.90);
  box-shadow: 0 10px 24px rgba(15,23,42,0.07);
  cursor:pointer;
}
.fc-check-card input{
  margin-top: 3px;
  flex: 0 0 auto;
}
.fc-check-card span{
  display:block;
  line-height: 1.55;
  color: rgba(15,23,42,0.94);
}

.fc-stage-next{
  margin-top: 18px !important;
}

/* Evidence list */
.evidence-list{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.evidence-item{
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  padding: 10px 10px 8px;
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.evidence-checkbox{ margin-top: 2px; }
.evidence-title{ font-weight: 900; color: rgba(15,23,42,0.92); }
.evidence-desc{ color: rgba(71,85,105,0.95); font-size: 13px; line-height: 1.8; margin-top: 4px; }
.evidence-weight{ margin-left:auto; font-size: 12px; color: rgba(71,85,105,0.95); }

/* Tables */
table{ width:100%; border-collapse: collapse; font-size: 13.5px; }
th,td{ border: 1px solid rgba(15,23,42,0.10); padding: 10px 10px; vertical-align: top; }
th{ background: rgba(15,45,92,0.04); color: rgba(15,23,42,0.92); font-weight: 900; }

/* Small screens */
@media (max-width: 780px){
  .fc-brand{ min-width: auto; }
  .fc-brand-top{ display:none; }
  .fc-brand-main{ font-size: 15px; }
}


/* ===== Petition / Execution generator compatibility ===== */
.wrap{ max-width: 100%; margin: 0 auto; }
.actions{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  color: rgba(15,45,92,0.92);
  background: rgba(15,45,92,0.04);
  border: 1px solid rgba(15,45,92,0.10);
  padding: 7px 10px;
  border-radius: 999px;
}
.badge i{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--fc-navy), var(--fc-gold));
  box-shadow: 0 0 0 3px rgba(176,141,87,0.16);
}
.form{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 980px){ .form{ grid-template-columns: 1fr; } }
.field{ display:flex; flex-direction: column; gap: 6px; }
.field label{ margin: 0; font-size: 13px; color: rgba(71,85,105,0.95); }
.hint{ margin: 8px 0 0; }
.submit{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.submit .left{ display:flex; gap: 10px; flex-wrap: wrap; align-items:center; }

/* Attorney page list */
.ul{ margin: 10px 0 0 18px; color: rgba(15,23,42,0.92); }
.ul li{ margin: 6px 0; }

/* ===== Flow / Stage navigation ===== */
.timeline-nav{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 16px;
}

.fc-stage-tabs .stage-content{display:none;}
.fc-stage-tabs .stage-content.active{display:block;}
.stage-btn{
  appearance:none;
  border: 1px solid rgba(15,23,42,0.14);
  background: rgba(255,255,255,0.96);
  color: rgba(15,23,42,0.92);
  padding: 10px 14px;
  border-radius: 999px;
  cursor:pointer;
  font-weight: 880;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background-color .14s ease;
}
.stage-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(15,45,92,0.20);
  box-shadow: 0 14px 28px rgba(2,6,23,0.10);
}
.stage-btn.active{
  border-color: rgba(176,141,87,0.30);
  background: linear-gradient(135deg, rgba(15,45,92,0.08), rgba(176,141,87,0.10));
  color: rgba(15,45,92,0.96);
}
.stage-wrapper{ margin-top: 10px; }
.stage-header{
  display:flex; align-items:center; gap: 10px;
  padding: 12px 12px 10px;
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
}
.stage-icon{
  width: 34px; height: 34px; border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(15,45,92,0.10), rgba(176,141,87,0.10));
  border: 1px solid rgba(15,45,92,0.10);
  color: rgba(15,45,92,0.90);
  font-weight: 950;
}
.stage-title{ font-weight: 950; margin: 0; }
.stage-content{ margin-top: 10px; }

/* ===== Calculator / Result cards ===== */
.calculator{ display:grid; gap: 12px; }
.input-group{ display:flex; flex-direction:column; gap: 6px; }
.btn-calculate{
  width: 100%;
  border: 1px solid rgba(15,45,92,0.25);
  color: #fff;
  background: linear-gradient(135deg, var(--fc-navy), var(--fc-navy2));
  box-shadow: 0 18px 40px rgba(15,45,92,0.18);
  padding: 12px 16px;
  border-radius: var(--fc-radius-sm);
  cursor: pointer;
  font-weight: 900;
  transition: transform .14s ease, box-shadow .14s ease;
}
.btn-calculate:hover{ transform: translateY(-1px); box-shadow: 0 22px 50px rgba(15,45,92,0.22); }
.result-box{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: linear-gradient(135deg, rgba(15,45,92,0.05), rgba(176,141,87,0.06));
  padding: 14px 14px 12px;
}
.result-title{ font-weight: 900; color: rgba(15,23,42,0.92); }
.result-value{ font-size: 28px; font-weight: 950; letter-spacing: -0.02em; color: var(--fc-navy); margin-top: 6px; }
.result-detail{ color: rgba(71,85,105,0.95); font-size: 13px; line-height: 1.85; margin-top: 8px; }
.footnote{ color: rgba(71,85,105,0.90); font-size: 12.8px; line-height: 1.8; margin-top: 10px; }

/* ===== Forecast timeline preview ===== */
.total-time{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  padding: 14px 14px 12px;
  text-align: center;
}
.total-time .value{ font-size: 30px; font-weight: 950; color: var(--fc-navy); letter-spacing: -0.02em; }
.total-time .label{ color: rgba(71,85,105,0.95); font-size: 13px; margin-top: 6px; }
.timeline-preview{ margin-top: 14px; }
.timeline-step{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 10px 10px;
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  margin-bottom: 10px;
}
.step-marker{ width: 34px; display:flex; flex-direction:column; align-items:center; gap: 6px; padding-top: 4px; }
.step-dot{
  width: 18px; height: 18px; border-radius: 999px;
  background: rgba(15,45,92,0.18);
  border: 1px solid rgba(15,45,92,0.18);
}
.step-dot.done{ background: var(--fc-gold); border-color: rgba(176,141,87,0.45); }
.step-line{
  width: 2px; flex: 1;
  background: rgba(15,23,42,0.10);
  border-radius: 999px;
}
.step-line.done{ background: rgba(176,141,87,0.45); }
.step-title{ font-weight: 950; margin: 0 0 4px; color: rgba(15,23,42,0.92); }
.step-time{ font-size: 12.8px; color: rgba(71,85,105,0.92); margin: 0; }
.step-content p{ margin: 0; color: rgba(71,85,105,0.95); font-size: 13.5px; line-height: 1.85; }


/* ===== Content sections (legacy pages) ===== */
.info-section{ margin-top: 14px; }
.info-section h2{ margin: 0 0 10px; font-size: 18px; font-weight: 950; }
.info-section .info-box + .info-box{ margin-top: 10px; }

.benefits{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 980px){ .benefits{ grid-template-columns: 1fr; } }
.benefit-item{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--fc-shadow2);
  padding: 14px 14px 12px;
}

.category{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.category .tag{
  background: rgba(15,45,92,0.04);
  border: 1px solid rgba(15,45,92,0.12);
  color: rgba(15,45,92,0.92);
  font-weight: 850;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
}

/* Laws */
.law-category{margin-top:14px;}
.law-category h2{margin:10px 0 8px; font-size:18px;}

.law-item{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.94);
  box-shadow: var(--fc-shadow2);
  padding: 14px 14px 12px;
  margin-top: 12px;
}
.law-title{ font-weight: 950; margin: 0 0 6px; }
.law-content{ color: rgba(71,85,105,0.95); line-height: 1.85; }

.checklist-section{ margin-top: 14px; }
.check-item{
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  padding: 12px 12px 10px;
  display:flex;
  gap: 10px;
  align-items:flex-start;
  margin-top: 10px;
}
.check-title{ font-weight: 950; margin: 0 0 4px; }
.check-desc{ color: rgba(71,85,105,0.95); margin: 0; font-size: 13.5px; line-height: 1.85; }
.check-content{ flex: 1; }
.check-tag{ margin-left:auto; }

.progress-bar{
  height: 10px;
  border-radius: 999px;
  background: rgba(15,23,42,0.08);
  overflow: hidden;
  margin-top: 10px;
}
.progress-fill{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fc-navy), var(--fc-gold));
  width: 0%;
}
.progress-text{ margin-top: 8px; color: rgba(71,85,105,0.95); font-size: 13px; }

.loading{
  display:none;
  margin-top: 12px;
  color: rgba(71,85,105,0.95);
  font-size: 13px;
}

.card-box{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--fc-shadow2);
  padding: 14px 14px 12px;
}
.tips, .warning{
  border-radius: var(--fc-radius);
  border: 1px solid rgba(15,23,42,0.10);
  background: linear-gradient(135deg, rgba(15,45,92,0.04), rgba(176,141,87,0.04));
  padding: 14px 14px 12px;
  margin-top: 12px;
}

.faq{ margin-top: 12px; }
.faq-item{ margin-top: 10px; }
.faq-q{
  font-weight: 900;
  cursor: pointer;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
}
.faq-a{
  display:none;
  padding: 10px 12px 12px;
  color: rgba(71,85,105,0.95);
  line-height: 1.85;
}
.faq-item.open .faq-a{ display:block; }

/* Print button */
.print-btn{
  margin-top: 12px;
}



/* ========================================================================
 * Elite Aurora UI (v10)
 * 目标：在 v9 的“轻奢律所”基础上更炫酷、更统一，同时彻底规避“间距过近/重叠”：
 * - 全站统一的 Aurora 背景（极克制的动态渐变，不影响阅读）
 * - 卡片/按钮更高级的渐变描边与悬停光泽
 * - 布局层面：fc-wrap 改为纵向 flex + gap，消除边距塌陷/堆叠拥挤
 * ====================================================================== */

:root{
  /* 更克制的高端配色：海军蓝 + 香槟金 + 冷白 */
  --fc-navy: #0B2A4A;
  --fc-navy2:#0A1F37;
  --fc-gold: #C7A35B;
  --fc-ink:  #0B1220;

  --fc-bg:   #f5f7fc;
  --fc-bg2:  #eef2fb;

  --fc-card: rgba(255,255,255,0.88);
  --fc-card2:rgba(255,255,255,0.78);

  --fc-text: #0B1220;
  --fc-muted:#5b6677;

  --fc-shadow: 0 18px 55px rgba(15, 23, 42, 0.10);
  --fc-shadow2: 0 10px 28px rgba(15, 23, 42, 0.08);
}

/* === 全站背景（Aurora） === */
body.fc-app{
  background:
    radial-gradient(1200px 700px at 20% 0%, rgba(15,45,92,0.10), transparent 55%),
    radial-gradient(900px 520px at 85% 10%, rgba(199,163,91,0.14), transparent 56%),
    linear-gradient(180deg, var(--fc-bg), var(--fc-bg2));
  position: relative;
  overflow-x: hidden;
}
body.fc-app::before,
body.fc-app::after{
  content:"";
  position: fixed;
  inset: -30vh -30vw;
  pointer-events:none;
  z-index:-1;
  opacity: 0.55;
  filter: blur(34px);
  transform: translate3d(0,0,0);
  background:
    radial-gradient(circle at 20% 30%, rgba(15,45,92,0.14), transparent 55%),
    radial-gradient(circle at 70% 40%, rgba(199,163,91,0.16), transparent 55%),
    radial-gradient(circle at 60% 80%, rgba(99,102,241,0.10), transparent 55%);
  animation: fc-aurora 18s ease-in-out infinite alternate;
}
body.fc-app::after{
  opacity: 0.35;
  animation-duration: 26s;
  animation-direction: alternate-reverse;
}
@keyframes fc-aurora{
  from{ transform: translate3d(-2%, -1%, 0) scale(1.02); }
  to  { transform: translate3d( 2%,  1%, 0) scale(1.06); }
}
@media (prefers-reduced-motion: reduce){
  body.fc-app::before, body.fc-app::after{ animation: none; }
}

/* === 彻底解决“内容过近/重叠”：容器统一用 gap 控制 === */
.fc-wrap{
  display:flex;
  flex-direction: column;
  gap: 18px;
}
.fc-wrap > *{ min-width: 0; }

/* 旧页面兼容：避免 grid + card 再叠加 margin 导致拥挤/错位 */
.grid .card, .grid .fc-card{ margin-top: 0 !important; }

/* === 顶部导航更精致：玻璃+描边+细光带 === */
.fc-topbar{
  background: rgba(245,247,252,0.72);
  backdrop-filter: blur(14px);
}
.fc-topbar-inner{
  padding-top: 12px;
  padding-bottom: 12px;
}
.fc-link{
  border: 1px solid rgba(11,42,74,0.10);
  background: rgba(255,255,255,0.60);
}
.fc-link:hover{
  border-color: rgba(11,42,74,0.18);
  background: rgba(255,255,255,0.84);
}
.fc-link.active{
  background: linear-gradient(135deg, rgba(11,42,74,0.10), rgba(199,163,91,0.18));
  border-color: rgba(199,163,91,0.32);
}
.fc-link.active::after{
  opacity: 1;
}

/* === Hero / Card：渐变描边 + 细腻高光 === */
.fc-hero, .hero, .header, .hero-card{
  border: 1px solid rgba(11,42,74,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.82));
  box-shadow: var(--fc-shadow);
}
.fc-hero::after, .hero::after, .header::after, .hero-card::after,
.fc-card::after, .card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  pointer-events:none;
  border: 1px solid rgba(199,163,91,0.18);
  opacity: .9;
}
.fc-card, .card, .kpi, .tool-card{
  border: 1px solid rgba(11,42,74,0.10);
  background: linear-gradient(180deg, var(--fc-card), var(--fc-card2));
  box-shadow: var(--fc-shadow2);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
}
.fc-card:hover, .card:hover, .kpi:hover, .tool-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.12);
  border-color: rgba(199,163,91,0.26);
}

/* === 按钮：更“炫酷”的光泽与渐变 === */
.fc-btn.primary,
.fc-primary-btn,
button.fc-primary-btn{
  background: linear-gradient(120deg, #0B2A4A, #1D4ED8, #C7A35B);
  background-size: 220% 220%;
  color: #fff;
  border: 1px solid rgba(199,163,91,0.28);
  box-shadow: 0 16px 34px rgba(29,78,216,0.18), 0 12px 28px rgba(199,163,91,0.12);
  position: relative;
  overflow: hidden;
}
.fc-btn.primary::before,
.fc-primary-btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(120deg, rgba(255,255,255,0.00), rgba(255,255,255,0.20), rgba(255,255,255,0.00));
  transform: translateX(-60%);
  transition: transform .35s ease;
}
.fc-btn.primary:hover,
.fc-primary-btn:hover{
  background-position: 100% 0;
  transform: translateY(-1px);
}
.fc-btn.primary:hover::before,
.fc-primary-btn:hover::before{
  transform: translateX(60%);
}
.fc-btn{
  border: 1px solid rgba(11,42,74,0.12);
  background: rgba(255,255,255,0.74);
}
.fc-btn:hover{
  background: rgba(255,255,255,0.92);
  border-color: rgba(199,163,91,0.20);
}

/* === 表单：更舒适的间距，避免“挤在一起” === */
.form{ gap: 14px; }
.field{ gap: 8px; }
.field label{ font-weight: 700; }
input[type="text"],
input[type="number"],
input[type="date"],
input[type="email"],
input[type="password"],
select,
textarea{
  padding: 10px 12px;
  border: 1px solid rgba(11,42,74,0.16);
  background: rgba(255,255,255,0.90);
}
input:focus, select:focus, textarea:focus{
  border-color: rgba(29,78,216,0.55);
  box-shadow: 0 0 0 4px rgba(29,78,216,0.12);
}

/* === 小标签/提示更像“律所系统” === */
.badge, .fc-tag{
  border-color: rgba(199,163,91,0.28);
  background: linear-gradient(135deg, rgba(199,163,91,0.14), rgba(11,42,74,0.06));
  color: rgba(11,42,74,0.92);
}

/* 防止长表格/长代码溢出导致错位 */
pre, code{ white-space: pre-wrap; word-break: break-word; }
table{ width: 100%; }
.fc-table-wrap{ overflow-x: auto; border-radius: var(--fc-radius); }

/* 表格（用于诉讼费分段等） */
.fc-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: rgba(255,255,255,0.90);
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  overflow: hidden;
}

@media (max-width: 720px){
  /* Tables: allow horizontal scroll without breaking layout */
  .fc-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
  }
}
.fc-table th, .fc-table td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--fc-line);
  text-align: left;
  font-size: 14px;
  white-space: nowrap;
}
.fc-table thead th{
  background: rgba(248,250,252,0.92);
  color: rgba(11,42,74,0.86);
  font-weight: 900;
}
.fc-table tbody tr:last-child td{ border-bottom: none; }

/* Allow wrapping for specific table cells */
.fc-table .fc-td-wrap,
.fc-table td.wrap,
.fc-table th.wrap{
  white-space: normal;
}




/* =============================================================================
 * Aurora Pro Theme v10 — 更“炫酷”的精英律所视觉（但保持克制、专业、可读）
 * 重点修复：
 * - 统一品牌渐变（蓝 → 青 → 紫）
 * - 修复生成器页面 span2/布局密度问题，避免卡片/字段重叠
 * - 增强卡片层次、按钮动效、背景质感（轻量、不花哨）
 * ========================================================================== */

:root{
  /* 将原先“香槟金”变量复用为“紫色强调”，让全站更现代 */
  --fc-navy: #0b2b7a;
  --fc-navy2:#1d4ed8;
  --fc-gold: #7c3aed; /* 原名不改，避免大量改动 */
  --fc-link:#1d4ed8;

  --fc-bg:  #f6f8ff;
  --fc-bg2: #eef2ff;

  --fc-aurora: linear-gradient(90deg, #1d4ed8, #38bdf8, #7c3aed);
}

@keyframes fc-aurora-shift{
  0%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
  100%{ background-position: 0% 50%; }
}

body.fc-app{
  background:
    radial-gradient(circle at 10% 10%, rgba(29,78,216,0.16), transparent 52%),
    radial-gradient(circle at 90% 0%, rgba(124,58,237,0.12), transparent 48%),
    radial-gradient(circle at 85% 95%, rgba(56,189,248,0.10), transparent 50%),
    linear-gradient(180deg, var(--fc-bg), var(--fc-bg2));
}

/* 微弱网格质感（极低不透明度，避免“脏”） */
body.fc-app::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(15,23,42,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,0.04) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: 0.35;
  z-index: -1;
}

/* 顶部导航：玻璃+细渐变描边 */
.fc-topbar{
  background: rgba(246,248,255,0.72);
  border-bottom: 1px solid rgba(15,23,42,0.08);
  backdrop-filter: blur(14px);
}
.fc-topbar-inner{
  padding: 12px 12px;
}
.fc-link.active{
  background: linear-gradient(135deg, rgba(29,78,216,0.14), rgba(124,58,237,0.14));
  border-color: rgba(124,58,237,0.24);
  color: rgba(15,23,42,0.94);
}

/* Hero/卡片顶部“动态光带” */
.fc-hero::before,
.header::before,
.hero::before{
  background: var(--fc-aurora);
  background-size: 220% 100%;
  animation: fc-aurora-shift 7s ease-in-out infinite;
}

/* 卡片高光与悬停边框（更精致） */
.fc-card,
.card{
  position: relative;
  overflow: hidden;
}
.fc-card::after,
.card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  padding: 1px;
  background: var(--fc-aurora);
  background-size: 220% 100%;
  animation: fc-aurora-shift 10s ease-in-out infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  pointer-events:none;
  transition: opacity .18s ease;
}
.fc-card:hover::after,
.card:hover::after{
  opacity: 0.26;
}

/* 主按钮：渐变 + 轻微流光 */
.btn.primary,
.fc-btn.primary,
.fc-primary-btn{
  background: var(--fc-aurora);
  background-size: 240% 100%;
  animation: fc-aurora-shift 9s ease-in-out infinite;
  border-color: rgba(29,78,216,0.20);
  color: #ffffff;
  box-shadow: 0 18px 44px rgba(29,78,216,0.22);
}
.btn.primary:hover,
.fc-btn.primary:hover,
.fc-primary-btn:hover{
  box-shadow: 0 26px 60px rgba(124,58,237,0.22);
}

/* 生成器页面/旧页面：span2（跨两列）修复，避免字段挤压导致视觉“重叠感” */
.form .field.span2,
.form .span2,
.fc-form-grid .fc-field.fc-span2,
.grid .span2{
  grid-column: 1 / -1;
}

/* 让长文本、证据描述、表格内容不挤压 */
.fc-prose, .card, .fc-card, .header, .hero, td, th, .evidence-desc{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 手机端：更大间距，减少“太挤” */
@media (max-width: 520px){
  .fc-wrap{ padding-left: 10px; padding-right: 10px; }
  .fc-topbar-inner{ flex-direction: column; align-items: stretch; gap: 10px; }
  .fc-brand{ min-width: 0; }
  .fc-nav{ justify-content: flex-start; }
  .fc-card, .card{ padding: 16px 14px 14px; }
  input[type="text"],input[type="number"],input[type="date"],input[type="email"],input[type="password"],select,textarea{
    padding: 12px 12px;
  }
  .fc-footer-inner{ grid-template-columns: 1fr; }
  .fc-footer-links{ justify-content: flex-start; }
  .fc-footer-friends{ grid-template-columns: 1fr; }
  .fc-footer-friends-label{ padding-top: 0; }
}



/* === Unified Components (v12) ============================================ */
/* 目标：
 * 1) 新增页面（会员/支付/订单）与全站风格完全一致
 * 2) 旧 class（.fc-btn / .primary / .hint / .fc-note / .grid / .submit）统一圆角与间距
 * 3) 彻底避免“块之间太挤/重叠”
 */

.fc-subtle{
  color: rgba(156,163,175,0.92);
  font-size: 12.5px;
  line-height: 1.8;
}

.fc-label{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(209,213,219,0.9);
}

/* 兼容旧按钮体系：.fc-btn / .fc-btn.primary */
.fc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding: 9px 14px;
  border-radius: var(--fc-radius-sm);
  border: 1px solid rgba(148,163,184,0.6);
  color: rgba(226,232,240,0.92);
  background: radial-gradient(circle at 0% 0%, rgba(15,23,42,0.96), rgba(15,23,42,0.9));
  text-decoration:none;
  cursor:pointer;
  transition: transform .16s ease-out, box-shadow .16s ease-out, border-color .16s ease-out, color .16s ease-out;
}
.fc-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(191,219,254,0.95);
  color: #f9fafb;
  box-shadow: 0 14px 30px rgba(15,23,42,0.85);
}
.fc-btn.primary{
  border-color: transparent;
  color: #0f172a;
  background: linear-gradient(120deg, #38bdf8, #a855f7);
  box-shadow: 0 18px 38px rgba(56,189,248,0.55);
}
.fc-btn.primary:hover{
  box-shadow: 0 26px 60px rgba(56,189,248,0.7);
}

/* 提示/说明块统一圆角 */
.hint,
.fc-note,
.fc-alert,
.fc-box{
  border-radius: 18px !important;
  border: 1px solid rgba(148,163,184,0.35);
  background: linear-gradient(155deg, rgba(15,23,42,0.96), rgba(15,23,42,0.9));
  padding: 12px 14px;
  color: rgba(226,232,240,0.9);
}

/* 表单块之间统一节奏，避免“挤/叠” */
.fc-wrap{
  display:flex;
  flex-direction:column;
  gap: 16px;
}

/* 通用 grid：旧页面大量用 .grid */
.grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items:start;
}
.grid > *{ min-width:0; }
@media (max-width: 860px){
  .grid{ grid-template-columns: 1fr; }
}

/* submit footer：避免按钮块挤在一起 */
.submit{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(148,163,184,0.25);
}
.submit .left, .submit .right{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
}




/* === V13 Global UI Fixes ==================================================
 * 修复项：
 * - v12 兼容补丁导致的：圆角变量失效（直角块）、阴影过重（压黑文字）
 * - 按钮高度/基线不一致（a/button 混用时尤明显）
 * - 网格卡片行高不一致（小字行数不同导致不齐）
 * - 分割线/留白：让“按钮区”和“说明文案/步骤”更有层次
 */

:root{
  /* 统一圆角层级（补齐 md 变量，避免 var 引用为空导致直角） */
  --fc-radius-sm: 14px;
  --fc-radius-md: 18px;
  --fc-radius-lg: 22px;

  /* 阴影统一为“轻奢但不压字” */
  --fc-shadow1: 0 10px 24px rgba(15, 23, 42, 0.10);
  --fc-shadow2: 0 16px 44px rgba(15, 23, 42, 0.12);
}

/* 统一所有“块”的圆角与阴影（兼容旧 class） */
.fc-card, .card, .kpi, .tool-card, .section, .hint, .fc-note{
  border-radius: var(--fc-radius-md);
}
.fc-card, .card, .kpi, .tool-card{
  box-shadow: var(--fc-shadow2);
}

/* 分割线：用于按钮区和正文区之间 */
.fc-divider{
  height: 1px;
  background: rgba(15, 23, 42, 0.10);
  margin: 14px 0 12px;
}

/* 按钮：全站统一高度/圆角/对齐（a/button 都一致） */
.fc-btn, .btn, .fc-primary-btn, .fc-primary-btn-sub{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: var(--fc-radius-sm);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.fc-btn, .btn{
  border: 1px solid rgba(11, 42, 74, 0.16);
  background: rgba(255,255,255,0.78);
}
.fc-btn:hover, .btn:hover{
  background: rgba(255,255,255,0.92);
  border-color: rgba(15, 45, 92, 0.22);
  transform: translateY(-1px);
}
.fc-btn.primary, .btn.primary, .fc-primary-btn{
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, var(--fc-navy), var(--fc-navy2));
  box-shadow: 0 16px 34px rgba(15, 45, 92, 0.20);
}
.fc-btn.primary:hover, .btn.primary:hover, .fc-primary-btn:hover{
  box-shadow: 0 22px 52px rgba(15, 45, 92, 0.26);
}
.fc-btn.danger{
  color: #b42318;
  border-color: rgba(180,35,24,0.28);
  background: rgba(255,255,255,0.82);
}
.fc-btn.danger:hover{
  border-color: rgba(180,35,24,0.40);
  background: rgba(255,255,255,0.95);
}

/* === V39 UI polish =====================================================
 * Fix: legacy .fc-btn:hover once set near-white text color.
 * New design uses light backgrounds for non-primary buttons, so we must
 * keep text dark on hover to preserve readability.
 */
.fc-btn:not(.primary):not(.danger):hover,
.btn:not(.primary):not(.danger):hover{
  color: rgba(15,23,42,0.92) !important;
}
.fc-btn.danger:hover{
  color: rgba(153,27,27,0.92) !important;
}

/* Fix: in action rows we sometimes use .fc-link as a secondary action.
 * When inside .fc-btn-row, normalize it to button height so sizes match.
 * (Nav uses .fc-link but is not wrapped by .fc-btn-row, so unaffected.)
 */
.fc-btn-row .fc-link{
  min-height: 44px;
  padding: 0 16px;
  font-size: 14px;
  border-radius: var(--fc-radius-sm);
  border: 1px solid rgba(11, 42, 74, 0.16);
  background: rgba(255,255,255,0.78);
  color: rgba(15,23,42,0.90);
}
.fc-btn-row .fc-link:hover{
  background: rgba(255,255,255,0.92);
  border-color: rgba(15, 45, 92, 0.22);
  color: rgba(15,45,92,0.96);
}

/* 操作按钮行：用于 account / pricing 等按钮对齐 */
.fc-btn-row{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
}

/* 网格：卡片等高（修复“文案行数不同导致高度不一致”） */
.grid{ align-items: stretch; }
.grid.cols-3{ grid-auto-rows: 1fr; }
.grid.cols-2{ grid-auto-rows: 1fr; }
.tile{ height: 100%; }
.tile > .fc-card, .tile > .card, .tile .fc-card, .tile .card{ height: 100%; }
.tile .d{ flex: 1; }

/* 首页小卡片（你现在最可能需要）：看起来像按钮且可点击 */
.mini-kpi .kpi{
  display:flex;
  flex-direction:column;
  gap: 6px;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.mini-kpi .kpi:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 52px rgba(15, 23, 42, 0.14);
  border-color: rgba(15, 45, 92, 0.22);
}

.kpi{ text-decoration:none; color: inherit; display:block; }


/* V13 Note Styling：说明块保持“浅色玻璃”，避免压字 */
.hint, .fc-note, .fc-alert, .fc-box{
  background: rgba(255,255,255,0.78);
  color: rgba(15,23,42,0.90);
  border: 1px solid rgba(15,23,42,0.10);
}
.fc-subtle{
  color: rgba(71,85,105,0.86);
}

.mini-kpi{ grid-auto-rows: 1fr; }
.mini-kpi .kpi{ height: 100%; }


/* === v14 Polish ===========================================================
 * 解决：按钮文字贴边、直角块残留、宽度不统一、复选项对齐、日期输入观感
 */
:root{
  --fc-radius-lg: 22px;
  --fc-radius-md: 18px;
  --fc-shadow-soft: 0 16px 40px rgba(15,23,42,0.38);
  --fc-shadow-soft2: 0 10px 24px rgba(15,23,42,0.28);
}

/* 统一按钮：a/button 同规格，文字垂直居中，不贴边 */
.fc-btn,
a.fc-btn,
button.fc-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px;
  min-height:44px;
  padding: 10px 16px;
  line-height: 1.15;
  font-weight: 600;
  border-radius: var(--fc-radius-sm);
}

/* 面板/卡片圆角兜底（避免某些页面直角） */
.fc-card,
.card,
.section,
.hint,
.fc-note,
.fc-alert,
.fc-box,
.fc-stage-panel{
  border-radius: var(--fc-radius-lg) !important;
}

/* 阴影统一柔和，避免压黑影响文字 */
.fc-card,
.card,
.section{
  box-shadow: var(--fc-shadow-soft2);
}

/* stage 结构统一（顶部/底部圆角） */
.fc-stage-panel{
  overflow:hidden;
  border: 1px solid rgba(148,163,184,0.25);
  background: linear-gradient(155deg, rgba(15,23,42,0.92), rgba(15,23,42,0.86));
}
.fc-stage-head{
  padding: 16px 18px;
  border-bottom: 1px solid rgba(148,163,184,0.18);
}
.fc-stage-body{
  padding: 16px 18px;
}

/* 分割线：用于按钮区与说明区之间 */
.fc-divider{
  height:1px;
  background: linear-gradient(90deg, rgba(148,163,184,0.0), rgba(148,163,184,0.35), rgba(148,163,184,0.0));
  margin: 14px 0;
}

/* 按钮行：统一对齐与间距 */
.fc-btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

/* 复选项网格：解决右侧过高/对齐差/留白多 */
.fc-check-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px 12px;
}
.fc-check{
  position: relative;
  display:block;
  padding: 14px 44px 12px 14px; /* leave room for checkbox */
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.86);
  box-shadow: 0 12px 26px rgba(15,23,42,0.08);
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.fc-check input{
  position: absolute;
  top: 50%;
  right: 12px;
  margin: 0;
  transform: translateY(-50%);
}
.fc-check b{
  display:block;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(15,23,42,0.94);
}
/* Only style "description" spans inside .fc-check, avoid breaking badges/pills */
.fc-check > div > span:not(.fc-tag):not(.fc-pill):not(.fc-badge){
  display:block;
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.6;
  color: rgba(71,85,105,0.90);
}
.fc-check .sub{
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.6;
  color: rgba(71,85,105,0.90);
}

.fc-check:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(15,23,42,0.12);
  border-color: rgba(15,45,92,0.18);
}

/* 简单两栏内容布局（非表单） */
.fc-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 980px){
  .fc-grid-2{ grid-template-columns: 1fr; }
}

.fc-panel{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.86);
  padding: 14px;
  box-shadow: 0 12px 26px rgba(15,23,42,0.08);
}

/* FAQ / 折叠说明：无 JS 依赖 */
.fc-faq{ margin: 0; }
.fc-faq details{
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.86);
  border-radius: 18px;
  padding: 10px 12px;
}
.fc-faq details + details{ margin-top: 10px; }
.fc-faq summary{
  cursor: pointer;
  font-weight: 900;
  color: rgba(15,23,42,0.92);
  outline: none;
  list-style: none;
}
.fc-faq summary::-webkit-details-marker{ display:none; }
.fc-faq summary:after{
  content: '+';
  float: right;
  font-weight: 900;
  color: rgba(15,45,92,0.62);
}
.fc-faq details[open] summary:after{ content: '–'; }
.fc-faq .a{
  margin-top: 8px;
  color: rgba(71,85,105,0.95);
  line-height: 1.85;
}

/* 表单控件宽度合理化 */
.fc-form-grid select,
.fc-form-grid input,
.fc-form-grid textarea,
.fc-form select,
.fc-form input,
.fc-form textarea{
  width: 100%;
  box-sizing: border-box;
}



/* 表单布局（全站兜底） */
.fc-form-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: start;
}
.fc-field{ min-width: 0; }
.fc-field label{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .04em;
  font-weight: 900;
  color: rgba(51,65,85,.92);
}
.fc-field .help,
.help{
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(71,85,105,.92);
}
.fc-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 14px;
}
@media (max-width: 720px){
  .fc-form-grid{ grid-template-columns: 1fr !important; gap: 10px; }
  .fc-actions{ justify-content: flex-start; }
}
/* date 输入统一观感 */
input[type="date"]{
  padding-right: 10px;
}


/* =========================================================
 * Business Blue Theme (v16) — single source of truth
 * - override any earlier :root experiments (purple/aurora)
 * - improve readability & contrast
 * =======================================================*/
:root{
  --fc-bg: #f4f7fb;
  --fc-bg2:#e9eef6;
  --fc-card:#ffffff;
  --fc-card2: rgba(255,255,255,0.92);

  --fc-text:#0d1424;
  --fc-sub:#334155;
  --fc-muted:#556274;
  --fc-line: rgba(15,23,42,0.12);

  /* brand */
  --fc-navy:#1f3c73;
  --fc-navy2:#2f5aa6;
  --fc-link:#2f5aa6;
  --fc-primary: var(--fc-navy);
  --fc-gold:#b08d57;

  /* shadows & radius */
  --fc-radius-sm: 14px;
  --fc-radius-md: 18px;
  --fc-radius-lg: 22px;

  /* unified controls */
  --fc-control-h: 44px;
  --fc-radius-btn: 14px;
  --fc-shadow1: 0 10px 24px rgba(15, 23, 42, 0.10);
  --fc-shadow2: 0 18px 48px rgba(15, 23, 42, 0.12);
  --fc-shadow: var(--fc-shadow2);
  --fc-shadow-soft: 0 16px 40px rgba(15,23,42,0.14);
  --fc-shadow-soft2: 0 10px 24px rgba(15,23,42,0.10);

  --fc-aurora: linear-gradient(90deg, #1f3c73, #2f5aa6, #38bdf8);
}

/* Topbar readability */
.fc-topbar{
  background: rgba(255,255,255,0.86);
  border-bottom: 1px solid rgba(15,23,42,0.10);
  backdrop-filter: blur(10px);
}
.fc-nav-item{ color: rgba(13,20,36,0.78); }
.fc-nav-item:hover{ color: rgba(13,20,36,0.92); }
.fc-nav-item.active{ color: var(--fc-navy); }

/* Small note text contrast (journey step1 issue) */
.fc-check .sub,
.fc-hint,
small,
.fc-note{
  color: rgba(51,65,85,0.92);
}

/* Nested cards: avoid “double shadow / double padding” */
.fc-card .page{ margin:0; }
.fc-card .header,
.fc-card header.header{
  padding:0;
  background:transparent;
  box-shadow:none;
  border:none;
}
.fc-card .card{
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(15,23,42,0.10);
  box-shadow: none;
  border-radius: var(--fc-radius-md);
  padding: 16px 18px;
}
.fc-card .card + .card{ margin-top: 14px; }
.fc-card .card-header{ margin-bottom: 10px; }
.fc-card .card-sub{ color: rgba(51,65,85,0.90); }

/* Admin helpers */
.fc-badge{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 10px;
  border-radius: 999px;
  background: rgba(47,90,166,0.12);
  border:1px solid rgba(47,90,166,0.22);
  color: rgba(31,60,115,0.92);
  font-weight:800;
  font-size:12px;
  white-space: nowrap;
}
.fc-badge.success{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.28);color:rgba(6,95,70,0.95)}
.fc-badge.danger{background:rgba(239,68,68,0.10);border-color:rgba(239,68,68,0.28);color:rgba(127,29,29,0.95)}
.fc-badge.warn{background:rgba(245,158,11,0.10);border-color:rgba(245,158,11,0.28);color:rgba(120,53,15,0.95)}
.fc-pill{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 10px;
  border-radius: var(--fc-radius-btn);
  border:1px solid rgba(15,23,42,0.14);
  background: rgba(255,255,255,0.85);
  color: rgba(13,20,36,0.85);
  font-size:12px;
  font-weight:800;
}
.fc-pill.ok{
  border-color: rgba(16,185,129,0.28);
  background: rgba(16,185,129,0.10);
  color: rgba(6,95,70,0.92);
}
.fc-pill.warn{
  border-color: rgba(245,158,11,0.28);
  background: rgba(245,158,11,0.10);
  color: rgba(146,64,14,0.92);
}
.fc-btn.sm{
  padding: 8px 12px !important;
  height: 34px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}
.fc-btn.sm.danger,
.fc-btn.danger{
  background: rgba(220,38,38,0.10) !important;
  border-color: rgba(220,38,38,0.28) !important;
  color: rgba(153,27,27,0.92) !important;
}
.fc-btn.sm.danger:hover,
.fc-btn.danger:hover{
  background: rgba(220,38,38,0.14) !important;
}

/* Admin KPI + Pager */
.fc-kpi-grid{
  display:grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 980px){
  .fc-kpi-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.fc-kpi{
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(15,23,42,0.10);
}
.fc-kpi-title{ font-size: 12px; font-weight: 800; color: rgba(51,65,85,0.90); }
.fc-kpi-value{ font-size: 22px; font-weight: 950; color: rgba(13,20,36,0.92); margin-top: 6px; }
.fc-kpi-sub{ font-size: 12px; color: rgba(51,65,85,0.90); margin-top: 6px; }

.fc-pager{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items:center;
  justify-content:flex-end;
  margin-top: 12px;
}
.fc-pager-item{
  display:inline-flex;
  align-items:center;
  height: 34px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.86);
  color: rgba(13,20,36,0.86);
  font-weight: 850;
  font-size: 13px;
}
.fc-pager-item:hover{ filter: brightness(1.02); }
.fc-pager-item.active{
  border-color: rgba(15,45,92,0.28);
  background: rgba(15,45,92,0.08);
  color: rgba(15,45,92,0.92);
}
.fc-pager-meta{ font-size: 12px; color: rgba(51,65,85,0.90); margin-left: 6px; }

/* Feedback widget */
.fc-feedback{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
}
.fc-feedback-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width: 108px;
  height: 52px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,0.18);
  background: #ffffff;
  color:#111827;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow: 0 16px 34px rgba(15,23,42,0.14), 0 0 0 4px rgba(255,255,255,0.72);
  cursor:pointer;
}
.fc-feedback-btn:hover{ background:#f8fafc; transform: translateY(-1px); }
.fc-feedback-btn:focus-visible{ outline: 3px solid rgba(37,99,235,0.35); outline-offset: 2px; }
.fc-feedback-btn::before{ content:"✉"; font-size:15px; line-height:1; }
.fc-feedback-panel{
  position: absolute;
  right: 0;
  bottom: 72px;
  width: min(420px, calc(100vw - 36px));
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: var(--fc-radius-lg);
  box-shadow: var(--fc-shadow2);
  overflow: hidden;
  display:none;
}
.fc-feedback-panel.open{ display:block; }
.fc-feedback-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 16px;
  background: rgba(47,90,166,0.10);
  border-bottom: 1px solid rgba(15,23,42,0.08);
}
.fc-feedback-hd .t{ font-weight: 900; color: rgba(13,20,36,0.92); }
.fc-feedback-hd .x{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.85);
  cursor:pointer;
  font-size:18px;
  line-height: 1;
}
.fc-feedback-bd{ padding: 14px 16px 16px; }
.fc-feedback-msg{
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.86);
  color: rgba(13,20,36,0.88);
}
.fc-feedback-msg.ok{
  border-color: rgba(16,185,129,0.28);
  background: rgba(16,185,129,0.10);
  color: rgba(6,95,70,0.92);
}
.fc-feedback-msg.err{
  border-color: rgba(220,38,38,0.28);
  background: rgba(220,38,38,0.10);
  color: rgba(153,27,27,0.92);
}


/* ===== Home “你可能需要” Pills ===== */
.fc-need{
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px dashed rgba(15,23,42,0.18);
  background: rgba(255,255,255,0.70);
}
.fc-need-title{
  font-size: 12.5px;
  font-weight: 900;
  color: rgba(51,65,85,0.92);
  margin-bottom: 8px;
}
.fc-pills{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fc-pill{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,0.16);
  background: rgba(255,255,255,0.92);
  color: rgba(15,23,42,0.92);
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
}
.fc-pill:hover{
  border-color: rgba(15,23,42,0.22);
  box-shadow: 0 10px 18px rgba(2,6,23,0.08);
}

/* ===== Cards grid compat (用于旧页面 .cards/.card-link 等) ===== */
.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 980px){
  .cards{ grid-template-columns: 1fr; }
}
.card-link{ display:block; text-decoration:none; color:inherit; }
.card-kicker{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: rgba(71,85,105,0.88);
  margin-bottom: 6px;
}
.card-title{
  font-size: 16px;
  font-weight: 950;
  color: rgba(15,23,42,0.96);
  margin-bottom: 6px;
}
.card-desc{
  margin: 0;
  color: rgba(71,85,105,0.92);
  line-height: 1.8;
  font-size: 13.5px;
}

/* ===== Admin dashboard layout ===== */
.fc-admin-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 980px){
  .fc-admin-grid{ grid-template-columns: 1fr; }
}
.fc-table-wrap{
  overflow:auto;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,0.10);
}
.fc-table-wrap .fc-table{
  border: 0;
}
.fc-admin-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ===== Mobile polish (不影响 PC：仅 media query 内生效) ===== */
@media (max-width: 720px){
  .fc-topbar-inner{
    padding: 12px 14px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .fc-brand{ min-width: 220px; }
  .fc-nav{
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding-bottom: 6px;
  }
  .fc-nav::-webkit-scrollbar{ height: 0; }
  .fc-nav-item{ flex: 0 0 auto; }

  /* 让按钮在手机端更易点、不拥挤 */
  .fc-btn-row{ flex-wrap: wrap; }
  .fc-btn-row .fc-btn{
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
  }
  .fc-btn-row .fc-btn.primary{
    flex-basis: 100%;
  }

  /* 首页按钮更顺手 */
  .hero-actions{
    display:flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .hero-actions .fc-btn{
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
  }
  .hero-actions .fc-btn.primary{
    flex-basis: 100%;
  }

  /* Admin 表格默认不撑爆 */
  .fc-table{ font-size: 13px; }
}

/* ===== V17 hotfixes: checkbox布局/后台概览/网格统一 ===== */

/* 统一 .grid 默认 1 列，避免被历史样式覆盖导致“本应横排却竖排/乱排” */
.grid{ display:grid; grid-template-columns: 1fr; gap: 14px; align-items: stretch; }
.grid > *{ min-width:0; }
.grid.cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid > .fc-card{ height: 100%; }
@media (max-width: 980px){
  .grid.cols-2, .grid.cols-3{ grid-template-columns: 1fr; }
}

/* 全站兜底：复选框/单选框不要被全局 input 样式拉伸 */
.fc-app input[type="checkbox"],
.fc-app input[type="radio"]{
  width: auto !important;
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* 全站兜底：统一输入控件高度（不影响 checkbox/radio） */
.fc-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.fc-app select{
  min-height: var(--fc-control-h);
  height: var(--fc-control-h);
}

/* textarea 保持更大的可读高度，由其自身 min-height 控制 */

/* 全站兜底：统一按钮高度/圆角矩形（不是药丸） */
.fc-btn,
a.fc-btn,
button.fc-btn,
.btn,
.fc-primary-btn,
.fc-primary-btn-sub{
  border-radius: var(--fc-radius-btn) !important;
  min-height: var(--fc-control-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.fc-btn.sm{ min-height: 34px; border-radius: 12px !important; }

/* 窄页面宽度体系（登录/注册等） */
.fc-narrow{
  max-width: 640px;
  margin: 0 auto;
}

/* 旧页面壳兜底：把 legacy container/header/card 变成“内容模式”，避免标题/卡片错位 */
.fc-card .container{ max-width: 100%; margin: 0; padding: 0; }
.fc-card .container > .header,
.fc-card .container > header.header{ display:none; }
.fc-card .container > .card{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.fc-card .page{ margin:0; padding:0; }
.fc-card .page > .header,
.fc-card .page > header.header{ display:none; }
.fc-card .page .main{ padding:0; }

/* AI 页面辅助布局 */
.fc-ai-chatbox{
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: var(--fc-radius-sm);
  background: rgba(255,255,255,0.94);
  padding: 10px;
  height: 420px;
  overflow: auto;
}
.fc-ai-inline{
  display:flex;
  gap: 10px;
  align-items: center;
}
.fc-ai-inline input{ flex: 1; min-width: 0; }

/* 同高卡片（两列布局用） */
.fc-card-eq{ display:flex; flex-direction: column; }
.fc-card-eq .fc-card-body{ flex: 1; min-width: 0; }
.fc-card-eq .fc-card-footer{ margin-top: 10px; }

.fc-tight-list{ margin: 0 0 0 18px; padding: 0; }
.fc-tight-list li{ margin: 6px 0; }
#clauseCourtWrap, #performanceCourtWrap{ display:block; }
.fc-field.fc-span2{ grid-column: 1 / -1; }
@media (max-width: 980px){
  .fc-field.fc-span2{ grid-column: auto; }
}

/* journey/checklist：复选框固定在右侧垂直居中，不压字 */
.fc-check{ display:flex; gap: 12px; align-items: flex-start; padding: 14px 14px 12px; }
.fc-check > div{ flex: 1; min-width: 0; }
.fc-check > input{
  position: static;
  transform: none;
  margin-left: auto;
  align-self: center;
}

/* evidence：与新结构匹配 */
.evidence-content{ flex: 1; min-width: 0; }

/* 后台 KPI 自适应，避免在半屏时“字被挤成竖排” */
.fc-kpi-grid{ grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }

/* 顶部导航：前台用 .fc-link，后台用 .fc-nav-item —— 统一基础视觉并保证移动端可横向滚动 */
.fc-nav-item{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.84);
  color: rgba(15,23,42,0.86);
  text-decoration:none;
  font-weight: 800;
  white-space: nowrap;
}
.fc-nav-item:hover{ background: rgba(255,255,255,0.98); border-color: rgba(15,45,92,0.25); }
.fc-nav-item.active{ background: rgba(15,45,92,0.10); border-color: rgba(15,45,92,0.35); color: rgba(15,45,92,0.95); }

@media (max-width: 720px){
  .fc-nav .fc-link, .fc-nav .fc-nav-item{ flex: 0 0 auto; }
}


/* === Global Button Final Fix (v37) =======================================
 * 目标：全站按钮字体/垂直居中/圆角保持一致（避免某些页面被局部 CSS 覆盖）
 */
.fc-btn, .btn, .fc-primary-btn, .fc-primary-btn-sub,
a.fc-btn, button.fc-btn,
a.btn, button.btn,
.fc-btn.primary, .btn.primary, .fc-primary-btn,
.btn-back{
  font-size: 14px;
  line-height: 1.1;
  text-align: center;
  border-radius: var(--fc-radius-btn) !important;
}

.fc-btn.sm, .btn.sm{
  font-size: 13px !important;
}

/* 兼容旧页面：flow.php 使用的 .btn-back */
.btn-back{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(11, 42, 74, 0.16);
  background: rgba(255,255,255,0.78);
  color: rgba(15,23,42,0.92);
  text-decoration: none;
  font-weight: 850;
  white-space: nowrap;
}
.btn-back:hover{
  background: rgba(255,255,255,0.92);
  border-color: rgba(15, 45, 92, 0.22);
  transform: translateY(-1px);
}

/* 兼容旧页面：计算器按钮（保持与主按钮一致的垂直居中） */
.btn-calculate{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  font-size: 14px;
  line-height: 1.1;
}


/* Toast */
.fc-toast{
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  pointer-events: none;
  background: rgba(15,23,42,0.92);
  color: #fff;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 800;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  transition: all .18s ease;
  z-index: 9999;
}
.fc-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }

/* Print styles */
@media (max-width: 768px){
  .fc-feedback{ right: 14px; bottom: 14px; }
  .fc-feedback-btn{
    min-width: 116px;
    height: 54px;
    padding: 0 18px;
    border-radius: 18px;
    box-shadow: 0 16px 32px rgba(15,23,42,0.16), 0 0 0 4px rgba(255,255,255,0.72);
  }
}

@media print {
  /* hide chrome */
  .fc-topbar,
  .fc-feedback-fab,
  .fc-btn,
  .fc-btn-row,
  .quick,
  .btn-row,
  #loading,
  .disclaimer .fc-muted{
    display: none !important;
  }

  body{ background:#fff !important; }
  .fc-card{ box-shadow:none !important; border:1px solid rgba(0,0,0,0.10) !important; }
  .fc-wrap{ max-width: 100% !important; }
  a{ color:#111827 !important; text-decoration:none !important; }
  .fc-note{ box-shadow:none !important; }
  .fc-hero{ padding: 0 !important; margin-bottom: 10px !important; }
  .fc-footer{ margin-top: 16px !important; }
}

/* =========================
   Global polish (v40)
   - keep UI stable across old/new pages
   ========================= */

/* Ensure .fc-check works regardless of DOM order (input first or last) */
.fc-check > input{ order: 2; margin-left:auto; }
.fc-check > div{ order: 1; flex: 1; min-width: 0; }

/* Disabled buttons: unify visual + prevent hover confusion */
.fc-btn:disabled,
.fc-btn[disabled],
button.fc-btn:disabled,
button.fc-btn[disabled],
.fc-btn.is-disabled,
.fc-btn[aria-disabled="true"]{
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}

/* Keep primary button style professional (disable shimmer layer) */
.fc-btn.primary::before,
.fc-primary-btn::before,
button.fc-primary-btn::before{ content: none !important; }

/* Pricing plans: dedicated layout (avoid being affected by generic .fc-check styles) */
.fc-plan-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.fc-plan{
  display:flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 14px 12px;
  border-radius: var(--fc-radius-md);
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.88);
  box-shadow: var(--fc-shadow2);
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
  min-height: 108px;
}
.fc-plan:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 48px rgba(15,23,42,0.14);
  border-color: rgba(15,45,92,0.20);
}
.fc-plan input[type="radio"]{
  margin-top: 4px;
}
.fc-plan-main{ flex: 1; min-width: 0; }
.fc-plan-head{ display:flex; align-items:center; gap: 8px; flex-wrap: wrap; }
.fc-plan-title{
  font-weight: 950;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(15,23,42,0.94);
}
.fc-plan-desc{
  margin-top: 8px;
  font-size: 12.8px;
  line-height: 1.6;
  color: rgba(71,85,105,0.92);
}
.fc-plan-price{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width: 92px;
  height: 36px;
  padding: 0 10px;
  border-radius: 12px; /* rounded-rect, not pill */
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.92);
  font-weight: 950;
  font-size: 13px;
  color: rgba(15,23,42,0.90);
  align-self: flex-start;
}
.fc-plan.selected{
  border-color: rgba(15,45,92,0.28);
  background: linear-gradient(135deg, rgba(15,45,92,0.06), rgba(176,141,87,0.06));
}
.fc-plan.selected .fc-plan-price{
  border-color: rgba(15,45,92,0.26);
  background: rgba(15,45,92,0.06);
  color: rgba(15,45,92,0.96);
}
@media (max-width: 520px){
  .fc-plan{ min-height: auto; }
  .fc-plan-price{ min-width: 86px; }
}


/* =========================
   v42 polish
   - unify helper box radius with form controls
   - fix diagnosis spacing (avoid button touching hint box)
   ========================= */

/* Helper/Hint blocks: align with input radius (top field as baseline) */
.hint{ border-radius: 14px !important; }

/* Diagnosis page only (class used only there) */
.form-group{ margin-top: 14px; }
.form-group:first-child{ margin-top: 0; }
.form-group .hint{ margin-top: 8px; }
.btn-row{ margin-top: 14px; }


/* =========================================================
 * v44 polish: non-pill buttons, semantic notes, stop aurora animation
 * =======================================================*/
/* v44 polish */
/* Buttons must be rounded-rectangle (not pill) */
.stage-btn{ border-radius: var(--fc-radius-btn) !important; }

/* Semantic note variants */
.fc-note.is-danger{
  border-left: 4px solid rgba(239,68,68,0.55) !important;
  background: rgba(239,68,68,0.06) !important;
}
.fc-note.is-warning{
  border-left: 4px solid rgba(245,158,11,0.55) !important;
  background: rgba(245,158,11,0.08) !important;
}
.fc-note.is-success{
  border-left: 4px solid rgba(16,185,129,0.55) !important;
  background: rgba(16,185,129,0.08) !important;
}

/* Stop aurora animations (keep static gradient) */
.fc-hero::before,
.header::before,
.hero::before,
.fc-card::after,
.card::after,
.btn.primary,
.fc-btn.primary,
.fc-primary-btn{
  animation: none !important;
}

/* =========================================================
 * v45: document preview (A4 paper feel)
 * =======================================================*/
.fc-doc-a4{
  background:#fff;
  color:#000;
  border:1px solid rgba(148,163,184,.35);
  border-radius:16px;
  box-shadow:0 16px 40px rgba(15,23,42,.08);
  padding:28px 28px;
  max-width:210mm;
  min-height:297mm;
  margin:0 auto;
}
.fc-doc-a4 .fc-doc-inner{
  font-family:'仿宋','仿宋_GB2312','华文仿宋','宋体',serif;
  font-size:14pt;
  line-height:1.5;
}
.fc-doc-a4 p{ margin:0; line-height:1.5; }
.fc-doc-a4 .fc-doc-title{ font-weight:900; text-align:center; margin-bottom:8px; }

/* ===== Key-Value list (contact etc) ===== */
.fc-kv{ display:grid; gap:0; }
.fc-kv-row{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap:12px;
  align-items:start;
  padding:10px 0;
  border-bottom:1px solid rgba(148,163,184,.25);
}
.fc-kv-row:last-child{ border-bottom:none; }
.fc-kv-k{ color: rgba(15,23,42,.75); font-weight:800; }
.fc-kv-v{ color:#0f172a; }
@media (max-width: 768px){
  .fc-kv-row{ grid-template-columns: 92px 1fr; }
}

@media (max-width: 768px){
  .fc-doc-a4{ max-width:100%; min-height:auto; padding:16px 14px; border-radius:14px; }
}

@media print{
  .fc-topbar,.fc-hero,.fc-actions,.fc-btn-row,.fc-footer,.fc-feedback-fab,.fc-feedback{ display:none !important; }
  .fc-doc-a4{ border:none; box-shadow:none; border-radius:0; max-width:none; min-height:auto; padding:0; margin:0; }
}

/* =========================
   v51: 控件高度统一 & 成本估算小卡片
   ========================= */
:root{
  --fc-control-h: 44px;
}

/* 同一行控件（尤其是 date/select）高度对齐 */
.fc-field input:not([type="checkbox"]):not([type="radio"]),
.fc-field select{
  height: var(--fc-control-h);
  min-height: var(--fc-control-h);
  box-sizing: border-box;
}
.fc-field input[type="date"]{
  height: var(--fc-control-h);
  min-height: var(--fc-control-h);
}

/* 标签与控件：避免同一行看起来“上下一点不齐” */
.fc-field label{ display:block; line-height:1.25; margin-bottom:8px; }

/* 成本估算：小卡片并列展示 */
.fc-mini-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.fc-mini-card{
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.92);
  border-radius: var(--fc-radius-md);
  box-shadow: var(--fc-shadow2);
  padding: 14px 14px 12px;
}
.fc-mini-card .k{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(15,23,42,0.70);
}
.fc-mini-card .v{
  margin-top: 8px;
  font-size: 22px;
  font-weight: 950;
  color: rgba(15,23,42,0.92);
}
.fc-mini-card .s{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(100,116,139,0.92);
}

/* =========================
   v52: AI 交互 —— 明确“正在分析中”
   ========================= */
.fc-spinner{
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(15,23,42,0.18);
  border-top-color: rgba(15,45,92,0.75);
  display: inline-block;
  vertical-align: -2px;
  animation: fcspin 0.9s linear infinite;
}
@keyframes fcspin{ to{ transform: rotate(360deg); } }

.fc-ai-loading{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 14px;
  border: 1px dashed rgba(15,23,42,0.18);
  border-radius: 14px;
  background: rgba(255,255,255,0.78);
  color: rgba(15,23,42,0.80);
  font-size: 13px;
}
.fc-ai-loading small{ color: rgba(100,116,139,0.92); }


.fc-contact-map-wrap{margin-top:12px}
.fc-contact-map{width:100%;height:280px;border:1px solid var(--fc-line);border-radius:18px;overflow:hidden;background:#f4f7fb;box-shadow:var(--fc-shadow1)}
.fc-contact-map-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.fc-contact-map-note{margin-top:10px;color:var(--fc-muted);font-size:14px;line-height:1.7}
@media (max-width: 768px){
  .fc-contact-map{height:240px;border-radius:16px}
}


/* Invite / referral / account helpers */
.fc-code-box{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin: 10px 0 0;
}
.fc-code-pill{
  display:inline-flex;
  align-items:center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  background: rgba(15,45,92,0.08);
  border: 1px dashed rgba(15,45,92,0.24);
  color: rgba(15,23,42,0.96);
  font-weight: 950;
  letter-spacing: .12em;
  font-size: 22px;
}
.fc-copy-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.fc-copy-input{
  width:100%;
  min-height: 46px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.88);
  color: rgba(15,23,42,0.92);
}
.fc-inline-help{
  font-size: 12.5px;
  color: rgba(71,85,105,0.92);
  line-height: 1.75;
}
.fc-field-inline{
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.fc-field-inline .fc-field-grow{
  flex:1;
  min-width: 220px;
}
@media (max-width: 720px){
  .fc-code-pill{ font-size: 18px; letter-spacing: .08em; }
  .fc-field-inline{ align-items:stretch; }
}

/* v67: auth agreement / sms verification */
.fc-check.fc-agree-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
}
.fc-check.fc-agree-card > input{
  order:0;
  margin:2px 0 0 0;
  align-self:flex-start;
  flex:0 0 auto;
}
.fc-check.fc-agree-card > div{
  order:1;
  flex:1;
  min-width:0;
}
.fc-check.fc-agree-card b{
  font-size:16px;
  line-height:1.45;
}
.fc-check.fc-agree-card .sub{
  margin-top:6px;
}
.fc-verify-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.fc-verify-row input{
  flex:1 1 220px;
  min-width:220px;
}
.fc-verify-row .fc-btn{
  flex:0 0 auto;
  min-width:136px;
}
@media (max-width: 720px){
  .fc-verify-row{ align-items:stretch; }
  .fc-verify-row input,
  .fc-verify-row .fc-btn{ width:100%; min-width:0; }
}


/* ===== V19 admin dashboard / contact / account polish ===== */
.fc-admin-dashboard-grid{
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}
.fc-admin-quick-col,
.fc-admin-feedback-col{
  min-width: 0;
}
.fc-admin-actions-stack{
  flex-direction: column;
  align-items: stretch;
}
.fc-admin-actions-stack .fc-btn{
  width: 100%;
  justify-content: center;
}
.fc-admin-latest-feedback-table{
  table-layout: fixed;
}
.fc-admin-latest-feedback-table th,
.fc-admin-latest-feedback-table td{
  vertical-align: top;
}
.fc-admin-page-cell{
  min-width: 0;
  width: 280px;
  max-width: 280px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.fc-admin-message-cell{
  min-width: 0;
  width: 320px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 1100px){
  .fc-admin-dashboard-grid{
    grid-template-columns: 1fr;
  }
  .fc-admin-actions-stack{
    flex-direction: row;
    align-items: center;
  }
  .fc-admin-actions-stack .fc-btn{
    width: auto;
  }
}


.fc-admin-overview-shell,
.fc-admin-panel-grid,
.fc-admin-case-list{
  display:grid;
  gap:14px;
}
.fc-admin-panel-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fc-admin-panel-grid-2{
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}
.fc-admin-panel-card{
  min-width:0;
}
.fc-admin-head-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.fc-admin-head-actions,
.fc-admin-shortcuts{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.fc-admin-stat-list,
.fc-admin-stage-list{
  display:grid;
  gap:10px;
}
.fc-admin-stat-row,
.fc-admin-stage-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,0.26);
  border-radius:14px;
  background:rgba(255,255,255,0.72);
}
.fc-admin-stat-row span,
.fc-admin-stage-row span{
  color:rgba(51,65,85,0.92);
  font-size:14px;
  line-height:1.6;
}
.fc-admin-stat-row b,
.fc-admin-stage-row b{
  color:rgba(15,23,42,0.98);
  font-size:15px;
  white-space:nowrap;
}
.fc-admin-shortcut-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.fc-admin-shortcut{
  display:block;
  padding:14px 16px;
  border:1px solid rgba(148,163,184,0.30);
  border-radius:16px;
  text-decoration:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,250,252,0.92));
  color:inherit;
  box-shadow:0 8px 26px rgba(15,23,42,0.06);
}
.fc-admin-shortcut strong{
  display:block;
  font-size:15px;
  color:rgba(15,23,42,0.96);
}
.fc-admin-shortcut span{
  display:block;
  margin-top:6px;
  color:rgba(51,65,85,0.88);
  font-size:13px;
  line-height:1.6;
}
.fc-admin-stage-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.fc-admin-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border:1px solid rgba(148,163,184,0.30);
  border-radius:999px;
  text-decoration:none;
  color:rgba(30,41,59,0.92);
  background:rgba(255,255,255,0.78);
  font-size:13px;
  font-weight:700;
}
.fc-admin-pill.active{
  background:linear-gradient(135deg, rgba(20,64,145,0.94), rgba(37,99,235,0.88));
  border-color:rgba(20,64,145,0.92);
  color:#fff;
}
.fc-admin-empty{
  padding:16px 18px;
  border:1px dashed rgba(148,163,184,0.44);
  border-radius:16px;
  color:rgba(71,85,105,0.92);
  background:rgba(255,255,255,0.64);
}
.fc-admin-case-card{
  padding:18px 18px 16px;
}
.fc-admin-case-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.fc-admin-case-title{
  font-size:18px;
  font-weight:900;
  color:rgba(15,23,42,0.96);
  line-height:1.5;
}
.fc-admin-case-meta{
  margin-top:6px;
  color:rgba(71,85,105,0.92);
  font-size:13px;
  line-height:1.7;
}
.fc-admin-stage-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(20,64,145,0.10);
  color:rgba(20,64,145,0.98);
  font-size:13px;
  font-weight:800;
  border:1px solid rgba(20,64,145,0.16);
}
.fc-admin-case-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
.fc-admin-kv{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.26);
  background:rgba(255,255,255,0.75);
  min-width:0;
}
.fc-admin-kv span{
  display:block;
  font-size:12px;
  font-weight:800;
  color:rgba(71,85,105,0.88);
}
.fc-admin-kv strong{
  display:block;
  margin-top:8px;
  color:rgba(15,23,42,0.96);
  font-size:14px;
  line-height:1.7;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.fc-admin-kv-span2{
  grid-column: span 2;
}
.fc-admin-json-wrap{
  border-top:1px dashed rgba(148,163,184,0.44);
  padding-top:12px;
}
.fc-admin-json-wrap summary{
  cursor:pointer;
  color:rgba(30,41,59,0.92);
  font-weight:800;
}
.fc-admin-json{
  margin:10px 0 0;
  padding:12px;
  border-radius:12px;
  background:rgba(15,23,42,0.92);
  color:#e2e8f0;
  font-size:12px;
  line-height:1.65;
  overflow:auto;
  max-height:320px;
}
@media (max-width: 1200px){
  .fc-admin-panel-grid,
  .fc-admin-panel-grid-2,
  .fc-admin-case-grid{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 860px){
  .fc-admin-panel-grid,
  .fc-admin-panel-grid-2,
  .fc-admin-case-grid,
  .fc-admin-shortcut-grid{
    grid-template-columns: 1fr;
  }
  .fc-admin-kv-span2{
    grid-column:auto;
  }
}
