.page-ejecutivo {
  --radius: 14px;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);
  --shadow-md: 0 10px 24px rgba(16, 24, 40, .10);
  --shadow-lg: 0 16px 34px rgba(16, 24, 40, .14);
}

.page-ejecutivo .surface {
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius);
  border: 1px solid #eef0f4;
  background: #fff;
}

.page-ejecutivo .card.surface-card {
  box-shadow: var(--shadow-md);
  border-radius: var(--radius);
  border: 1px solid #eef0f4;
  background: #fff;
  overflow: hidden;
}

.page-ejecutivo .chart-shell {
  position: relative;
  min-height: 220px;
}

.page-ejecutivo .chart-shell canvas {
  display: block;
  width: 100% !important;
  height: 220px !important;
}

.page-ejecutivo .elevate-hover {
  transition: transform .18s ease, box-shadow .18s ease;
}

.page-ejecutivo .elevate-hover:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.page-ejecutivo .section-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: 1rem;
}

.page-ejecutivo .page-title { font-size: 1.25rem; }
.page-ejecutivo .meta-dim { font-size: .94rem; color: #475569; }

.page-ejecutivo .pill-vinc {
  border-radius: 999px;
  background: #0ea5e9;
  color: #fff;
  padding: .25rem .6rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.page-ejecutivo .chip {
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: .18rem .55rem;
  font-size: .78rem;
  background: #f9fafb;
}

.page-ejecutivo .feed-list .feed-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem .85rem;
  border-bottom: 1px solid #eef0f4;
  text-decoration: none;
}

.page-ejecutivo .feed-item:hover { background: #fafcff; }
.page-ejecutivo .kpi-executive .kpi-icon { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: #eef2ff; color: #3843d0; }
.page-ejecutivo .kpi-executive .kpi-purple { background: #f4e8ff; color: #6e2fb1; }
.page-ejecutivo .kpi-executive .kpi-green { background: #e8fff3; color: #0f8a4d; }

.page-ejecutivo .role-pill { border: 1px solid transparent; font-weight: 500; }
.page-ejecutivo .rp-blue { background: #eef2ff; color: #1d4ed8; border-color: #e0e7ff; }
.page-ejecutivo .rp-green { background: #ecfdf5; color: #047857; border-color: #d1fae5; }
.page-ejecutivo .rp-amber { background: #fff7ed; color: #b45309; border-color: #ffedd5; }
.page-ejecutivo .rp-purple { background: #f5f3ff; color: #6d28d9; border-color: #ede9fe; }
.page-ejecutivo .rp-pink { background: #fdf2f8; color: #be185d; border-color: #fce7f3; }
.page-ejecutivo .rp-teal { background: #f0fdfa; color: #0f766e; border-color: #ccfbf1; }
.page-ejecutivo .rp-slate { background: #f1f5f9; color: #334155; border-color: #e2e8f0; }

.page-ejecutivo .feed-grid { display: grid; gap: 12px; }
@media (min-width: 576px) { .page-ejecutivo .feed-grid { grid-template-columns: 1fr; } }
@media (min-width: 768px) { .page-ejecutivo .feed-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .page-ejecutivo .feed-grid { grid-template-columns: 1fr 1fr 1fr; } }

.page-ejecutivo .surface-mini { box-shadow: var(--shadow-sm); border-radius: var(--radius); border: 1px solid #eef0f4; background: #fff; overflow: hidden; }
.page-ejecutivo .feed-card-header { padding: .65rem .85rem; border-bottom: 1px solid #eef0f4; background: #fff; }
.page-ejecutivo .feed-card-header .title { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .95rem; }
.page-ejecutivo .feed-card-header .title i { opacity: .8; }
.page-ejecutivo .feed-body { padding: .25rem .25rem; }
.page-ejecutivo .feed-item { display: flex; align-items: center; gap: .75rem; padding: .6rem .65rem; border-bottom: 1px solid #eef0f4; text-decoration: none; }
.page-ejecutivo .feed-item:last-child { border-bottom: 0; }
.page-ejecutivo .feed-rank { width: 24px; height: 24px; border-radius: 999px; display: grid; place-items: center; background: #f1f5f9; color: #334155; font-size: .78rem; font-weight: 700; flex: 0 0 24px; }
.page-ejecutivo .feed-title { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; font-weight: 600; }
.page-ejecutivo .feed-right { color: #94a3b8; }

.page-ejecutivo .mob-row-btn {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  width: 100%;
  background: #fff;
  border: 0;
  padding: .8rem .95rem;
  border-bottom: 1px solid #eef0f4;
  text-align: left;
}

.page-ejecutivo .mob-row-sub { color: #64748b; font-size: .88rem; }
.page-ejecutivo .mob-row-pill { margin: .15rem .25rem .15rem 0; }
.page-ejecutivo .mob-row-actions { display: flex; gap: .5rem; margin-top: .35rem; }
.page-ejecutivo .mob-row-icon { flex: 0 0 auto; }
.page-ejecutivo .mob-row-title { display: block; font-weight: 600; flex: 1 1 auto; min-width: 0; max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; word-break: break-word; overflow-wrap: anywhere; }
.page-ejecutivo .mob-row-right { flex: 0 0 auto; margin-left: .5rem; display: inline-flex; align-items: center; gap: .5rem; }
.page-ejecutivo .mob-row-chevron { transition: transform .18s ease; }
.page-ejecutivo .mob-row-btn[aria-expanded="true"] .mob-row-chevron { transform: rotate(180deg); }
