/* ============================================================
   优质中小企业梯度培育管理平台 - 主样式
   ============================================================ */

* { margin:0; padding:0; box-sizing:border-box; }

:root {
  --primary: #1a56db;
  --primary-light: #e8f0fe;
  --primary-dark: #1042a8;
  --success: #0e9f6e;
  --success-light: #def7ec;
  --warning: #e3a008;
  --warning-light: #fdf6b2;
  --danger: #e02424;
  --danger-light: #fde8e8;
  --purple: #7e3af2;
  --purple-light: #edebfe;
  --bg: #f0f4f8;
  --white: #ffffff;
  --border: #e5e7eb;
  --text-main: #111827;
  --text-sub: #6b7280;
  --text-light: #9ca3af;
  --sidebar-w: 220px;
  --header-h: 60px;
  --shadow: 0 1px 4px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.12);
  --radius: 10px;
}

body {
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  background: var(--bg);
  color: var(--text-main);
  font-size: 14px;
  line-height: 1.5;
}

/* ---- Header ---- */
.top-header {
  position: fixed; top:0; left:0; right:0; height:var(--header-h);
  background: linear-gradient(135deg, #1a56db 0%, #0e3fa3 100%);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px; z-index: 100; box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.header-left { display:flex; align-items:center; min-width:280px; }
.logo-area { display:flex; align-items:center; gap:10px; cursor:pointer; position:relative; user-select:none;
  padding:4px 10px 4px 6px; border-radius:8px; transition:background .2s; }
.logo-area:hover { background:rgba(255,255,255,0.12); }
.mode-switch-icon {
  font-size:14px; color:rgba(255,255,255,0.5);
  transition:color .2s, transform .3s; margin-left:2px;
}
.logo-area:hover .mode-switch-icon { color:rgba(255,255,255,0.9); transform:rotate(180deg); }
.logo-icon { font-size:28px; }
.logo-text { display:flex; flex-direction:column; }
.sys-name { color:#fff; font-size:16px; font-weight:700; white-space:nowrap; }
.sys-sub { color:rgba(255,255,255,0.7); font-size:11px; }
.header-right { min-width:200px; }
.header-actions { display:flex; align-items:center; gap:16px; justify-content:flex-end; }
.alert-bell { position:relative; cursor:pointer; font-size:20px; color:#fff; }
.badge {
  position:absolute; top:-4px; right:-6px;
  background:#e02424; color:#fff; border-radius:8px;
  font-size:10px; padding:1px 4px; font-weight:700;
}
.user-info { display:flex; align-items:center; gap:8px; cursor:pointer; }
.avatar {
  width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,0.25); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:15px; border:2px solid rgba(255,255,255,0.4);
}
.user-detail { display:flex; flex-direction:column; }
.user-name { color:#fff; font-size:13px; font-weight:600; }
.user-role { color:rgba(255,255,255,0.7); font-size:11px; }

/* ---- Layout ---- */
.main-layout {
  display:flex; margin-top:var(--header-h); min-height:calc(100vh - var(--header-h));
}

/* ---- Sidebar ---- */
.sidebar {
  width:var(--sidebar-w); background:var(--white); border-right:1px solid var(--border);
  padding:12px 0; overflow-y:auto; flex-shrink:0;
  position:fixed; top:var(--header-h); left:0; bottom:0;
}
.nav-section { margin-bottom:4px; }
.nav-label {
  font-size:11px; color:var(--text-light); padding:8px 16px 4px;
  font-weight:600; letter-spacing:0.5px; text-transform:uppercase;
}
.nav-item {
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  cursor:pointer; transition:.15s; border-radius:0; position:relative;
  color:var(--text-sub); font-size:13px;
}
.nav-item:hover { background:var(--primary-light); color:var(--primary); }
.nav-item.active {
  background:var(--primary-light); color:var(--primary);
  font-weight:600; border-right:3px solid var(--primary);
}
.nav-icon { font-size:15px; width:20px; text-align:center; }
.nav-text { flex:1; }
.nav-badge {
  background:var(--primary); color:#fff; border-radius:10px;
  font-size:11px; padding:1px 6px; font-weight:600;
}
.nav-badge.red { background:var(--danger); }

/* ---- Main Content ---- */
.main-content {
  flex:1; margin-left:var(--sidebar-w); padding:20px;
  min-height:calc(100vh - var(--header-h));
}

/* ---- Page Header ---- */
.page-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;
}
.page-title { font-size:20px; font-weight:700; color:var(--text-main); }
.page-subtitle { font-size:13px; color:var(--text-sub); margin-top:2px; }
.page-actions { display:flex; gap:8px; }

/* ---- KPI Cards ---- */
.kpi-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px;
}
.kpi-card {
  background:var(--white); border-radius:var(--radius); padding:18px 20px;
  box-shadow:var(--shadow); display:flex; align-items:center; gap:14px; cursor:pointer;
  transition:.2s; border-left:4px solid transparent;
}
.kpi-card:hover { box-shadow:var(--shadow-md); transform:translateY(-1px); }
.kpi-card.blue { border-left-color:var(--primary); }
.kpi-card.green { border-left-color:var(--success); }
.kpi-card.orange { border-left-color:var(--warning); }
.kpi-card.red { border-left-color:var(--danger); }
.kpi-card.purple { border-left-color:var(--purple); }
.kpi-icon {
  width:50px; height:50px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0;
}
.kpi-card.blue .kpi-icon { background:var(--primary-light); }
.kpi-card.green .kpi-icon { background:var(--success-light); }
.kpi-card.orange .kpi-icon { background:var(--warning-light); }
.kpi-card.red .kpi-icon { background:var(--danger-light); }
.kpi-card.purple .kpi-icon { background:var(--purple-light); }
.kpi-info { flex:1; }
.kpi-label { font-size:12px; color:var(--text-sub); }
.kpi-value { font-size:26px; font-weight:800; color:var(--text-main); line-height:1.2; }
.kpi-trend { font-size:11px; margin-top:2px; }
.kpi-trend.up { color:var(--success); }
.kpi-trend.down { color:var(--danger); }

/* ---- Card ---- */
.card {
  background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow);
  margin-bottom:16px; overflow:hidden;
}
.card-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px; border-bottom:1px solid var(--border);
}
.card-title { font-weight:700; font-size:14px; color:var(--text-main); }
.card-body { padding:16px 18px; }
.card-actions { display:flex; gap:8px; }

/* ---- Grid layouts ---- */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.grid-7-3 { display:grid; grid-template-columns:7fr 3fr; gap:16px; }
.grid-6-4 { display:grid; grid-template-columns:6fr 4fr; gap:16px; }

/* ---- Table ---- */
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th {
  background:#f9fafb; padding:10px 14px; text-align:left;
  font-weight:600; color:var(--text-sub); border-bottom:1px solid var(--border);
  white-space:nowrap;
}
td {
  padding:11px 14px; border-bottom:1px solid #f3f4f6;
  color:var(--text-main); vertical-align:middle;
}
tr:hover td { background:#fafbff; }
tr:last-child td { border-bottom:none; }

/* ---- Status Tags ---- */
.tag {
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 9px; border-radius:12px; font-size:11px; font-weight:600;
}
.tag-blue { background:var(--primary-light); color:var(--primary); }
.tag-green { background:var(--success-light); color:var(--success); }
.tag-orange { background:var(--warning-light); color:#d97706; }
.tag-red { background:var(--danger-light); color:var(--danger); }
.tag-purple { background:var(--purple-light); color:var(--purple); }
.tag-gray { background:#f3f4f6; color:#6b7280; }

/* ---- Buttons ---- */
.btn {
  padding:7px 16px; border-radius:7px; border:none; cursor:pointer;
  font-size:13px; font-weight:500; transition:.15s; white-space:nowrap;
  display:inline-flex; align-items:center; gap:5px;
}
.btn:hover { opacity:.85; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-success { background:var(--success); color:#fff; }
.btn-warning { background:var(--warning); color:#fff; }
.btn-danger { background:var(--danger); color:#fff; }
.btn-default { background:#f3f4f6; color:var(--text-sub); }
.btn-outline { background:transparent; border:1px solid var(--primary); color:var(--primary); }
.btn-sm { padding:4px 10px; font-size:12px; }
.btn-xs { padding:2px 8px; font-size:11px; border-radius:5px; }

/* ---- Search & Filter Bar ---- */
.filter-bar {
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
  flex-wrap:wrap;
}
.filter-bar input, .filter-bar select {
  padding:7px 12px; border:1px solid var(--border); border-radius:7px;
  font-size:13px; outline:none; background:#fff; color:var(--text-main);
}
.filter-bar input:focus, .filter-bar select:focus { border-color:var(--primary); }
.filter-bar input[type=text] { width:220px; }

/* ---- Progress Bar ---- */
.progress-bar {
  background:#e5e7eb; border-radius:4px; height:6px; overflow:hidden;
}
.progress-fill { height:100%; border-radius:4px; transition:.3s; }
.progress-blue { background:var(--primary); }
.progress-green { background:var(--success); }
.progress-orange { background:var(--warning); }
.progress-red { background:var(--danger); }

/* ---- Timeline ---- */
.timeline { padding:8px 0; }
.timeline-item { display:flex; gap:12px; margin-bottom:16px; }
.timeline-dot {
  width:10px; height:10px; border-radius:50%; background:var(--primary);
  margin-top:5px; flex-shrink:0; border:2px solid var(--primary-light);
}
.timeline-dot.success { background:var(--success); border-color:var(--success-light); }
.timeline-dot.warning { background:var(--warning); border-color:var(--warning-light); }
.timeline-dot.danger { background:var(--danger); border-color:var(--danger-light); }
.timeline-line {
  width:1px; background:var(--border); margin:2px auto;
}
.timeline-content { flex:1; }
.timeline-title { font-size:13px; font-weight:600; }
.timeline-desc { font-size:12px; color:var(--text-sub); margin-top:2px; }
.timeline-time { font-size:11px; color:var(--text-light); margin-top:2px; }

/* ---- Steps ---- */
.steps { display:flex; align-items:center; gap:0; margin:16px 0; }
.step { display:flex; flex-direction:column; align-items:center; flex:1; }
.step-circle {
  width:32px; height:32px; border-radius:50%; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; background:#fff; color:var(--text-light);
}
.step.done .step-circle { background:var(--success); border-color:var(--success); color:#fff; }
.step.active .step-circle { background:var(--primary); border-color:var(--primary); color:#fff; }
.step-label { font-size:11px; color:var(--text-sub); margin-top:4px; text-align:center; }
.step.active .step-label { color:var(--primary); font-weight:600; }
.step.done .step-label { color:var(--success); }
.step-line { flex:1; height:2px; background:var(--border); margin-bottom:16px; }
.step-line.done { background:var(--success); }

/* ---- Charts ---- */
.chart-container { width:100%; }

/* ---- Modal ---- */
.modal-overlay {
  position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(0,0,0,0.5);
  z-index:200;
  display:flex; align-items:center; justify-content:center;
}
.modal {
  background-color:#fff; border-radius:var(--radius); box-shadow:var(--shadow-md);
  max-height:85vh; overflow-y:auto;
}
.alert-modal { width:540px; background-color:#fff; }
.detail-modal { width:960px; max-width:95vw; background-color:#fff; }
.modal-content {
  background-color:#fff !important; border-radius:var(--radius); box-shadow:var(--shadow-md);
  width:640px; max-width:95vw; max-height:85vh; overflow-y:auto; overflow-x:hidden;
  position:relative; flex-shrink:0;
}
.modal-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid var(--border); position:sticky; top:0; background:#fff;
}
.modal-header .modal-title { font-size:16px; font-weight:700; }
.modal-header .modal-close { background:none; border:none; cursor:pointer; font-size:18px; color:var(--text-sub); }
.modal-body { padding:20px; }
.modal-footer {
  padding:14px 20px; border-top:1px solid var(--border);
  display:flex; gap:8px; justify-content:flex-end; position:sticky; bottom:0; background:#fff;
}

/* ---- Alert Items ---- */
.alert-item {
  display:flex; align-items:flex-start; gap:10px; padding:12px;
  border-radius:8px; margin-bottom:8px;
}
.alert-item.red { background:var(--danger-light); }
.alert-item.orange { background:var(--warning-light); }
.alert-item.blue { background:var(--primary-light); }
.alert-icon { font-size:18px; flex-shrink:0; }
.alert-content { flex:1; }
.alert-title { font-weight:600; font-size:13px; }
.alert-desc { font-size:12px; color:var(--text-sub); margin-top:2px; }
.alert-time { font-size:11px; color:var(--text-light); margin-top:4px; }

/* ---- AI Smart Card ---- */
.ai-card {
  background:linear-gradient(135deg,#f0f4ff,#e8f0fe);
  border:1px solid #c3d3fa; border-radius:var(--radius); padding:16px; margin-bottom:12px;
}
.ai-card-header { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.ai-badge {
  background:var(--primary); color:#fff; font-size:10px;
  padding:2px 8px; border-radius:10px; font-weight:700;
}
.ai-label { font-weight:600; font-size:13px; color:var(--primary); }
.ai-content { font-size:13px; color:var(--text-main); line-height:1.6; }

/* ---- Metric Row ---- */
.metric-row { display:flex; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.metric-item { flex:1; min-width:120px; }
.metric-label { font-size:11px; color:var(--text-sub); }
.metric-value { font-size:20px; font-weight:800; color:var(--text-main); }
.metric-unit { font-size:12px; color:var(--text-sub); }

/* ---- Detail Form ---- */
.detail-section { margin-bottom:16px; }
.detail-section-title { font-weight:700; font-size:13px; color:var(--primary); margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid var(--primary-light); }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.detail-field { display:flex; flex-direction:column; gap:2px; }
.detail-label { font-size:11px; color:var(--text-sub); }
.detail-value { font-size:13px; color:var(--text-main); font-weight:500; }

/* ---- Materials Section ---- */
.material-card {
  padding:10px 12px;
  background:#f8fafc;
  border-radius:6px;
  border:1px solid var(--border);
  position:relative;
  transition:all .2s;
}
.material-card:hover {
  border-color:var(--primary);
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.material-card.required {
  background:#fefce8;
  border-color:#fef08a;
}
.material-card.completed {
  background:#f0fdf4;
  border-color:#bbf7d0;
}
.material-card.completed::after {
  content:'✓';
  position:absolute;
  top:8px;
  right:8px;
  width:18px;
  height:18px;
  background:var(--success);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:700;
}
.material-category-header {
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:6px;
}
.core-indicator-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 12px;
  background:#f8fafc;
  border-radius:6px;
  margin-bottom:6px;
}
.core-indicator-standard {
  font-size:11px;
  color:var(--text-sub);
}
.core-indicator-status {
  font-size:11px;
  padding:2px 8px;
  border-radius:10px;
  font-weight:600;
}
.core-indicator-status.pass {
  background:var(--success);
  color:#fff;
}
.core-indicator-status.warning {
  background:var(--warning);
  color:#fff;
}

/* ---- Score Ring ---- */
.score-ring-wrap { display:flex; flex-direction:column; align-items:center; gap:4px; }
.score-ring {
  width:80px; height:80px; border-radius:50%;
  background:conic-gradient(var(--primary) var(--pct, 0%), #e5e7eb var(--pct, 0%));
  display:flex; align-items:center; justify-content:center; position:relative;
}
.score-inner {
  width:60px; height:60px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:800; color:var(--primary);
}

/* ---- Responsive ---- */
@media (max-width:1200px) {
  .kpi-grid { grid-template-columns:repeat(2,1fr); }
  .grid-7-3, .grid-6-4 { grid-template-columns:1fr; }
}

/* ---- 战略新兴产业样式 ---- */
.strategic-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.strategic-card { background:#fff; border:1px solid var(--border); border-radius:10px; padding:14px; }
.strategic-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.strategic-title { font-weight:600; font-size:13px; }
.strategic-badge { padding:2px 8px; border-radius:4px; font-size:10px; font-weight:500; }
.strategic-badge.strategic { background:#dbeafe; color:#1d4ed8; }
.strategic-badge.future { background:#f3e8ff; color:#7c3af2; }
.strategic-count { font-size:24px; font-weight:700; color:#1a56db; margin:8px 0; }
.strategic-trend { font-size:11px; color:#6b7280; }
.strategic-trend.up { color:#0e9f6e; }

/* ---- 报告生成样式 ---- */
.report-tabs { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.report-tab { padding:8px 16px; border-radius:6px; font-size:13px; cursor:pointer; background:#f3f4f6; color:#6b7280; border:none; transition:.2s; }
.report-tab.active { background:#1a56db; color:#fff; }
.report-preview { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:24px; min-height:400px; font-size:14px; line-height:1.8; }
.report-preview h3 { text-align:center; margin-bottom:20px; font-size:18px; }
.report-preview h4 { margin:16px 0 8px; font-size:14px; color:#1a56db; border-bottom:1px solid #e5e7eb; padding-bottom:4px; }
.report-preview p { margin-bottom:8px; text-indent:2em; }
.report-action-bar { display:flex; gap:10px; justify-content:flex-end; margin-top:16px; padding-top:16px; border-top:1px solid #e5e7eb; }
.modal-wide { width:90%; max-width:900px; }

/* ---- 企业画像新样式 ---- */
.enterprise-header { display:flex; align-items:flex-start; gap:24px; background:#fff; border-radius:12px; padding:24px; margin-bottom:20px; box-shadow:0 1px 3px rgba(0,0,0,.1); position:relative; }
.enterprise-logo { width:100px; height:100px; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:40px; color:#fff; flex-shrink:0; }
.enterprise-info { flex:1; }
.enterprise-name { font-size:28px; font-weight:700; color:#111827; margin-bottom:8px; }
.enterprise-meta { display:flex; gap:24px; margin-bottom:16px; flex-wrap:wrap; }
.meta-item { display:flex; align-items:center; gap:8px; font-size:14px; color:#6b7280; }
.meta-label { color:#9ca3af; }
.enterprise-tags { display:flex; gap:8px; flex-wrap:wrap; }
.tag { padding:6px 14px; border-radius:20px; font-size:13px; font-weight:500; display:inline-flex; align-items:center; gap:6px; }
.tag-gaoqi { background:#dbeafe; color:#1e40af; }
.tag-zhuanjingte { background:#ffedd5; color:#9a3412; }
.tag-xiaojuren { background:#f3e8ff; color:#7e22ce; }
.tag-qixin { background:#f3e8ff; color:#7e22ce; }
.tag-gaoxin { background:#dcfce7; color:#166534; }
.enterprise-actions { position:absolute; top:20px; right:20px; display:flex; gap:8px; }
.btn-export { background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; padding:10px 20px; border-radius:8px; font-size:14px; font-weight:600; border:none; cursor:pointer; transition:all .2s; display:inline-flex; align-items:center; gap:8px; box-shadow:0 2px 8px rgba(37,99,235,.3); }
.btn-export:hover { background:linear-gradient(135deg,#1d4ed8,#1e40af); transform:translateY(-2px); box-shadow:0 4px 16px rgba(37,99,235,.4); }

/* ---- 潜力评分 ---- */
.potential-score { background:#fff; border-radius:12px; padding:24px; box-shadow:0 1px 3px rgba(0,0,0,.1); margin-bottom:20px; }
.potential-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.potential-title { font-size:16px; font-weight:600; color:#111827; display:flex; align-items:center; gap:8px; }
.potential-score-badge { display:flex; align-items:center; gap:16px; }
.score-value { font-size:72px; font-weight:700; background:linear-gradient(135deg,#1e40af,#3b82f6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; }
.score-max { font-size:18px; color:#9ca3af; font-weight:600; }
.score-level { padding:6px 14px; border-radius:20px; font-size:13px; font-weight:600; }
.score-level.high { background:#dcfce7; color:#166534; }
.score-level.medium { background:#fef3c7; color:#92400e; }
.score-level.low { background:#fee2e2; color:#991b1b; }
.potential-content { display:grid; grid-template-columns:1.2fr 1fr; gap:32px; }
.radar-chart { display:flex; align-items:center; justify-content:center; padding:10px; }
.indicators-list { display:flex; flex-direction:column; gap:12px; }
.indicator-item { display:flex; gap:12px; padding-bottom:12px; border-bottom:1px solid #f3f4f6; }
.indicator-item:last-child { border-bottom:none; padding-bottom:0; }
.indicator-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.indicator-icon.high { background:linear-gradient(135deg,#dcfce7,#bbf7d0); }
.indicator-icon.medium { background:linear-gradient(135deg,#fef3c7,#fde68a); }
.indicator-icon.low { background:linear-gradient(135deg,#fee2e2,#fecaca); }
.indicator-info { flex:1; }
.indicator-name { font-size:13px; font-weight:600; color:#111827; margin-bottom:4px; display:flex; align-items:center; justify-content:space-between; }
.indicator-score { font-size:12px; font-weight:600; }
.indicator-score.high { color:#10b981; }
.indicator-score.medium { color:#f59e0b; }
.indicator-score.low { color:#ef4444; }
.indicator-desc { font-size:12px; color:#6b7280; margin-bottom:6px; }
.indicator-bar { height:5px; background:#f3f4f6; border-radius:3px; overflow:hidden; margin-bottom:5px; }
.indicator-fill { height:100%; border-radius:3px; transition:width .3s; }
.indicator-fill.high { background:linear-gradient(90deg,#10b981,#34d399); }
.indicator-fill.medium { background:linear-gradient(90deg,#f59e0b,#fbbf24); }
.indicator-fill.low { background:linear-gradient(90deg,#ef4444,#f87171); }
.indicator-issue { font-size:12px; color:#ef4444; display:flex; align-items:center; gap:4px; }

/* ---- 政策匹配 ---- */
.policy-match { background:#fff; border-radius:12px; padding:20px; box-shadow:0 1px 3px rgba(0,0,0,.1); margin-bottom:20px; }
.policy-match .policy-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.policy-match .policy-title { font-size:16px; font-weight:600; color:#111827; display:flex; align-items:center; gap:8px; }
.policy-match .policy-actions { display:flex; gap:8px; }
.policy-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.policy-card-new { background:linear-gradient(135deg,#f8fafc,#f1f5f9); border-radius:10px; padding:16px; border-left:4px solid; transition:all .2s; }
.policy-card-new:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.1); }
.policy-card-new.high { border-left-color:#10b981; }
.policy-card-new.medium { border-left-color:#f59e0b; }
.policy-card-new.low { border-left-color:#3b82f6; }
.policy-card-new .policy-name { font-size:14px; font-weight:600; color:#111827; margin-bottom:12px; display:flex; align-items:flex-start; gap:8px; line-height:1.4; }
.policy-card-new .policy-tags { display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.policy-card-new .policy-tag { padding:4px 8px; border-radius:6px; font-size:11px; font-weight:500; }
.policy-card-new .policy-tag.type { background:#dbeafe; color:#1e40af; }
.policy-card-new .policy-tag.level { background:#f3e8ff; color:#7e22ce; }
.policy-card-new .policy-details { display:flex; flex-direction:column; gap:8px; }
.policy-card-new .policy-detail-item { display:flex; align-items:center; justify-content:space-between; font-size:12px; }
.policy-card-new .policy-detail-label { color:#6b7280; display:flex; align-items:center; gap:6px; }
.policy-card-new .policy-detail-value { font-weight:600; color:#111827; }
.policy-card-new .policy-detail-value.money { color:#10b981; }
.policy-card-new .match-score { display:flex; align-items:center; gap:8px; margin-top:8px; padding-top:12px; border-top:1px solid #e2e8f0; }
.policy-card-new .match-label { font-size:11px; color:#6b7280; }

/* ---- 详情增强样式 ---- */
.audit-section { margin-bottom:16px; padding:14px; background:#fff; border:1px solid var(--border); border-radius:10px; }
.audit-section-title { font-weight:600; font-size:13px; margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.audit-item { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #f3f4f6; }
.audit-item:last-child { border-bottom:none; }
.audit-label { font-size:12px; color:var(--text-sub); flex:1; }
.audit-value { font-size:13px; font-weight:500; text-align:right; flex:1; }
.audit-status { padding:2px 8px; border-radius:4px; font-size:11px; font-weight:500; }
.audit-status.pass { background:#ecfdf5; color:#0e9f6e; }
.audit-status.pending { background:#fffbeb; color:#d97706; }
.audit-status.fail { background:#fef2f2; color:#e02424; }
.audit-status.none { background:#f3f4f6; color:#6b7280; }

/* ---- AI专家卡片 ---- */
.ai-expert-card { background:linear-gradient(135deg,#f0f9ff,#e0f2fe); border:1px solid #7dd3fc; border-radius:12px; padding:16px; margin-bottom:16px; }
.ai-expert-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ai-expert-score { font-size:32px; font-weight:800; color:#1a56db; }
.ai-expert-label { font-size:12px; color:#6b7280; }
.ai-expert-suggestion { font-size:13px; line-height:1.7; color:#1f2937; }
.ai-expert-meta { display:flex; gap:16px; margin-top:12px; font-size:12px; }
.ai-expert-meta span { padding:4px 10px; border-radius:20px; background:#fff; }
