/* 乘式空间领导驾驶舱增强视觉与经营洞察 */
.intelligence-ribbon {
  height: 38px;
  margin-top: 10px;
  display: grid;
  grid-template-columns: 170px 1fr 210px;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(91, 148, 223, 0.22);
  background: linear-gradient(90deg, rgba(12, 41, 83, 0.9), rgba(5, 23, 54, 0.82));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.03);
}

.ribbon-title {
  height: 100%;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #c6d8ee;
  border-right: 1px solid rgba(91, 148, 223, 0.22);
  font-size: 9px;
}

.ribbon-title i {
  width: 8px;
  height: 8px;
  border: 2px solid #24d8ff;
  border-radius: 50%;
  box-shadow: 0 0 10px #24d8ff;
  animation: livePulse 1.5s infinite;
}

.ribbon-title b {
  padding: 2px 5px;
  color: #03142d;
  background: #35e5b0;
  font: 700 7px Arial;
  letter-spacing: 1px;
}

.ribbon-window { overflow: hidden; }
.ribbon-track { width: max-content; display: flex; animation: ribbonMove 32s linear infinite; }
.ribbon-track span { margin-right: 58px; color: #718cad; font-size: 8px; white-space: nowrap; }
.ribbon-track b { margin-right: 7px; color: #24d8ff; font: 400 8px Arial; }

.ribbon-value {
  height: 100%;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  border-left: 1px solid rgba(91, 148, 223, 0.22);
  background: rgba(49, 92, 255, 0.08);
}

.ribbon-value span { color: #6882a5; font-size: 8px; }
.ribbon-value strong { color: #35e5b0; font: 700 13px Arial; }
.ribbon-value em { color: #4e698f; font-size: 7px; font-style: normal; }

@keyframes ribbonMove { from { transform: translateX(0); } to { transform: translateX(-55%); } }
@keyframes livePulse { 50% { opacity: 0.35; transform: scale(0.75); } }

.park-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image: radial-gradient(circle, #35d9ff 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: radial-gradient(circle at center, #000, transparent 70%);
}

.scan-light {
  position: absolute;
  z-index: 2;
  top: -30%;
  left: 0;
  width: 100%;
  height: 30%;
  pointer-events: none;
  background: linear-gradient(transparent, rgba(36, 216, 255, 0.12), transparent);
  animation: scanPark 6s linear infinite;
}

@keyframes scanPark { to { transform: translateY(500%); } }

.data-stream {
  position: absolute;
  z-index: 2;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, transparent, #24d8ff, transparent);
  filter: drop-shadow(0 0 4px #24d8ff);
  animation: streamPulse 2.4s ease-in-out infinite;
}

.stream-a { top: 33%; left: 18%; width: 28%; transform: rotate(13deg); }
.stream-b { top: 35%; right: 13%; width: 28%; transform: rotate(164deg); animation-delay: 1.1s; }
@keyframes streamPulse { 0%, 100% { opacity: 0.1; } 50% { opacity: 0.9; } }

.ability-orbit {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 50px;
  width: 86%;
  padding: 5px 9px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  transform: translateX(-50%);
  border: 1px solid rgba(91, 148, 223, 0.22);
  background: rgba(3, 18, 45, 0.84);
  backdrop-filter: blur(8px);
}

.ability-orbit > div {
  position: relative;
  min-width: 0;
  padding: 3px 4px;
  display: flex;
  align-items: center;
  gap: 5px;
  border-right: 1px solid rgba(91, 148, 223, 0.16);
}

.ability-orbit > div:last-child { border: 0; }
.ability-orbit img { width: 23px; height: 23px; flex: 0 0 auto; border-radius: 6px; }
.ability-orbit span { overflow: hidden; color: #8da8c7; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.ability-orbit b { width: 4px; height: 4px; margin-left: auto; flex: 0 0 auto; border-radius: 50%; background: #35e5b0; box-shadow: 0 0 5px #35e5b0; }
.ability-orbit em { position: absolute; top: -10px; right: 1px; padding: 1px 3px; color: #fff; background: #ff4f92; font: 700 5px Arial; font-style: normal; }

.executive-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 1.4fr;
  gap: 12px;
}

.executive-grid > article { min-height: 185px; }
.insight-content { padding: 17px 18px; display: grid; grid-template-columns: 135px 1fr; align-items: center; gap: 20px; }
.insight-score { position: relative; width: 122px; height: 122px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#35e5b0 0 23%, #24d8ff 23% 57%, #315cff 57% 87.6%, #122a4e 87.6%); box-shadow: 0 0 30px rgba(36, 216, 255, 0.15); }
.insight-score::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: radial-gradient(circle, #102c58, #071a37); }
.insight-score > div { position: relative; z-index: 1; text-align: center; }
.insight-score strong { display: block; font: 700 24px Arial; }
.insight-score span { color: #6684a8; font-size: 7px; }
.insight-score em { position: absolute; z-index: 2; right: -4px; bottom: 12px; padding: 3px 6px; color: #06162c; border-radius: 8px; background: #35e5b0; font-size: 7px; font-style: normal; }
.insight-list p { margin: 0; padding: 9px 0; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid rgba(91, 148, 223, 0.12); color: #8ca5c4; font-size: 8px; }
.insight-list p:last-child { border: 0; }
.insight-list i { width: 5px; height: 5px; border-radius: 50%; }
.insight-list i.up { background: #35e5b0; box-shadow: 0 0 6px #35e5b0; }
.insight-list i.tip { background: #ffbd43; box-shadow: 0 0 6px #ffbd43; }
.insight-list b { color: #78dff7; font-weight: 400; }

.goal-content { position: relative; padding: 4px 16px 5px; display: grid; grid-template-columns: 180px 1fr; align-items: center; }
.goal-content svg { width: 180px; height: 132px; }
.radar-grid path { fill: none; stroke: rgba(92, 145, 215, 0.18); stroke-width: 1; }
.radar-value { fill: rgba(49, 92, 255, 0.22); stroke: #24d8ff; stroke-width: 1.5; filter: drop-shadow(0 0 5px rgba(36, 216, 255, 0.45)); }
.radar-points circle { fill: #071a37; stroke: #35e5ff; stroke-width: 2; }
.goal-labels { display: flex; flex-direction: column; gap: 5px; }
.goal-labels span { padding-bottom: 4px; display: flex; justify-content: space-between; color: #6984a7; border-bottom: 1px solid rgba(91, 148, 223, 0.1); font-size: 7px; }
.goal-labels b { color: #bad0e9; font: 400 8px Arial; }

.milestone-line { position: relative; height: 142px; padding: 26px 24px 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.milestone-line::before { content: ""; position: absolute; top: 42px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, #315cff 0 63%, rgba(91, 148, 223, 0.18) 63%); }
.milestone-line > div { position: relative; padding-top: 29px; text-align: center; }
.milestone-line i { position: absolute; z-index: 2; top: 10px; left: 50%; width: 11px; height: 11px; transform: translateX(-50%); border: 2px solid #28476f; border-radius: 50%; background: #071a37; }
.milestone-line .is-done i { border-color: #35e5b0; background: #35e5b0; box-shadow: 0 0 10px rgba(53, 229, 176, 0.7); }
.milestone-line .is-current i { width: 15px; height: 15px; top: 8px; border-color: #24d8ff; box-shadow: 0 0 14px #24d8ff; }
.milestone-line time { display: block; color: #587497; font: 7px Arial; }
.milestone-line strong { margin-top: 7px; display: block; color: #a9bed7; font-size: 8px; }
.milestone-line span { margin-top: 4px; display: block; color: #4e698e; font-size: 7px; }

@media (max-width: 1500px) {
  .intelligence-ribbon { grid-template-columns: 150px 1fr 180px; }
  .ability-orbit { width: 94%; }
  .ability-orbit img { width: 20px; height: 20px; }
  .executive-grid { grid-template-columns: 1.1fr 0.9fr 1.2fr; }
  .insight-content { grid-template-columns: 112px 1fr; gap: 12px; }
  .insight-score { width: 104px; height: 104px; }
  .goal-content { grid-template-columns: 150px 1fr; }
  .goal-content svg { width: 150px; }
}

/* 领导展示字号增强：适配会议屏幕和远距离阅读 */
.dashboard-brand strong { font-size: 19px; }
.dashboard-brand small { font-size: 10px; }
.header-title p { font-size: 10px; }
.header-title h1 { font-size: 29px; }
.header-tools { font-size: 12px; }
.clock strong { font-size: 17px; }
.clock small { font-size: 10px; }

.section-bar h2 { font-size: 17px; }
.section-bar span { font-size: 11px; }
.section-bar em,
.period-tabs button { font-size: 11px; }

.summary-grid p { font-size: 12px; }
.summary-grid strong { font-size: 29px; }
.summary-grid small { font-size: 11px; }
.summary-grid em { font-size: 10px; }

.ribbon-title { font-size: 10px; }
.ribbon-track span,
.ribbon-track b { font-size: 9px; }
.ribbon-value span { font-size: 9px; }
.ribbon-value strong { font-size: 15px; }
.ribbon-value em { font-size: 8px; }

.panel-head h2 { font-size: 14px; }
.panel-head small { font-size: 10px; }
.axis-labels,
.x-labels { font-size: 9px; }
.chart-legend { font-size: 10px; }
.chart-legend strong b { font-size: 14px; }
.donut strong { font-size: 19px; }
.donut span { font-size: 9px; }
.capability-list li,
.capability-list li b { font-size: 10px; }

.park-node { font-size: 9px; }
.park-node strong { font-size: 11px; }
.central-node strong { font-size: 16px; }
.central-node span { font-size: 9px; }
.ability-orbit span { font-size: 8px; }
.visual-stats { font-size: 9px; }
.visual-stats b { font-size: 15px; }

.task-table { font-size: 9px; }
.table-row { min-height: 27px; }
.rank-list strong { font-size: 10px; }
.rank-list li > b { font-size: 10px; }
.resource-numbers p { font-size: 9px; }
.resource-numbers b { font-size: 11px; }
.resource-bars p > span { font-size: 9px; }
.gauge strong { font-size: 19px; }
.gauge span { font-size: 8px; }
.outcome-mini-grid strong { font-size: 16px; }
.outcome-mini-grid span { font-size: 9px; }

.insight-score strong { font-size: 27px; }
.insight-score span { font-size: 9px; }
.insight-list p { font-size: 10px; }
.goal-labels span { font-size: 9px; }
.goal-labels b { font-size: 10px; }
.milestone-line time { font-size: 9px; }
.milestone-line strong { font-size: 10px; }
.milestone-line span { font-size: 9px; }
footer { font-size: 10px; }
