html {
        scroll-behavior: smooth;
      }

      body {
        background: linear-gradient(180deg, #0a0e1a 0%, #050911 50%, #030509 100%);
        color: #e2e8f0;
        position: relative;
        font-family:
          "Inter",
          system-ui,
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          Roboto,
          "Helvetica Neue",
          Arial,
          sans-serif;
        font-feature-settings: "cv02", "cv03", "cv04", "cv11";
      }
      body:before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        z-index: 0;
        background-image:
          linear-gradient(rgba(148, 163, 184, 0.02) 1px, transparent 1px),
          linear-gradient(90deg, rgba(148, 163, 184, 0.02) 1px, transparent 1px),
          radial-gradient(ellipse 90% 55% at 50% -15%, rgba(37, 99, 235, 0.07), transparent 52%),
          radial-gradient(circle at 85% 20%, rgba(16, 185, 129, 0.03) 0%, transparent 45%);
        background-size: 52px 52px, 52px 52px, auto, auto;
      }

      :root {
        --radius-lg: 14px;
        --radius-md: 12px;
        --shadow-card: 0 6px 28px rgba(0, 0, 0, 0.2), 0 1px 6px rgba(0, 0, 0, 0.1);
        --shadow-card-hover: 0 10px 36px rgba(0, 0, 0, 0.24), 0 2px 8px rgba(0, 0, 0, 0.12);
        --pa-transition: 165ms cubic-bezier(0.4, 0, 0.2, 1);
      }

      .pa-body .pa-shell-main,
      .pa-body .pa-page,
      .app-main {
        position: relative;
        z-index: 1;
      }
      .app-shell {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
      }
      .app-main {
        flex: 1;
      }
      .card-surface {
        background: linear-gradient(145deg, rgba(21, 27, 38, 0.88) 0%, rgba(12, 16, 24, 0.94) 100%);
        border: 1px solid rgba(148, 163, 184, 0.1);
        backdrop-filter: blur(20px);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-card);
        transition:
          border-color var(--pa-transition),
          box-shadow var(--pa-transition);
      }
      .card-surface:hover {
        border-color: rgba(148, 163, 184, 0.16);
        box-shadow: var(--shadow-card-hover);
      }
      .card-surface-soft {
        background: linear-gradient(145deg, rgba(18, 24, 34, 0.72) 0%, rgba(11, 15, 22, 0.88) 100%);
        border: 1px solid rgba(148, 163, 184, 0.09);
        backdrop-filter: blur(16px);
        border-radius: var(--radius-lg);
        box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.08);
        transition:
          border-color var(--pa-transition),
          box-shadow var(--pa-transition);
      }
      .card-surface-soft:hover {
        border-color: rgba(148, 163, 184, 0.14);
        box-shadow: 0 10px 32px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.1);
      }
      .mono {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      }
      .brand-gradient {
        background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 50%, #10b981 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font-weight: 700;
        letter-spacing: -0.3px;
      }
      .pill-muted {
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(11, 17, 31, 0.95) 100%);
        border: 1px solid rgba(71, 85, 105, 0.4);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
      }
      .impact-positive {
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.2) 0%, rgba(16, 185, 129, 0.1) 100%);
        border-color: rgba(16, 185, 129, 0.6);
        box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
      }
      .impact-negative {
        background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(239, 68, 68, 0.1) 100%);
        border-color: rgba(239, 68, 68, 0.6);
        box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2);
      }
      .impact-neutral {
        background: linear-gradient(135deg, rgba(100, 116, 139, 0.2) 0%, rgba(100, 116, 139, 0.1) 100%);
        border-color: rgba(100, 116, 139, 0.6);
        box-shadow: 0 2px 8px rgba(100, 116, 139, 0.15);
      }
      .badge-soft {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(11, 17, 31, 0.95) 100%);
        border-radius: 999px;
        border: 1px solid rgba(71, 85, 105, 0.4);
        color: #e2e8f0;
        font-weight: 600;
        padding: 0.35rem 0.75rem;
        font-size: 0.8rem;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
      }
      .badge-soft-success {
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(16, 185, 129, 0.08) 100%);
        border-color: rgba(16, 185, 129, 0.5);
        color: #86efac;
      }
      .badge-soft-danger {
        background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(239, 68, 68, 0.08) 100%);
        border-color: rgba(239, 68, 68, 0.5);
        color: #fca5a5;
      }
      .badge-soft-neutral {
        border-color: rgba(100, 116, 139, 0.5);
        color: #cbd5e1;
      }
      .nav-blur {
        background: rgba(5, 9, 17, 0.9) !important;
        backdrop-filter: blur(24px) saturate(180%);
        border-bottom: 1px solid rgba(71, 85, 105, 0.25);
      }
      .nav-shadow {
        box-shadow: 0 1px 0 rgba(148, 163, 184, 0.06), 0 6px 24px rgba(0, 0, 0, 0.18);
      }
      .search-input::placeholder {
        color: rgba(229, 231, 235, 0.72) !important;
      }
      .nav-input-box {
        border: 1px solid rgba(148, 163, 184, 0.55) !important;
        border-radius: 999px !important;
      }
      .nav-input-box:focus {
        border-color: #0ea5e9 !important;
        box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.25) !important;
        outline: none !important;
      }
      /* Controles principales: radios SaaS (no píldora) */
      .btn,
      .btn-sm,
      .btn-lg {
        border-radius: 10px !important;
      }
      .stat-pill,
      .badge-soft,
      .nav-input-box,
      .nav-lang-select {
        border-radius: 999px !important;
      }
      .text-muted {
        color: rgba(255, 255, 255, 0.92) !important;
      }
      .form-text {
        color: rgba(255, 255, 255, 0.92) !important;
      }
      .form-label {
        color: #ffffff !important;
      }
      .manual-input,
      .manual-input::placeholder {
        color: #ffffff !important;
      }
      .manual-textarea {
        background: rgba(9, 16, 30, 0.9) !important;
        border: 1px solid rgba(148, 163, 184, 0.25) !important;
        color: #ffffff !important;
        text-align: center;
        border-radius: 14px;
        padding: 0.85rem 1rem;
        font-size: 0.98rem;
        line-height: 1.35;
        resize: none;
        min-height: 140px;
      }
      .manual-textarea::placeholder {
        color: rgba(255, 255, 255, 0.65) !important;
      }
      a, a:hover {
        color: inherit;
      }
      .sidebar-wrap {
        position: sticky;
        top: 1rem;
      }
      /* Encabezados dentro de tarjetas laterales (Tickers con señal...) */
      .card-surface-soft .h6,
      .card-surface-soft h6,
      .card-surface .h6,
      .card-surface h6 {
        color: #ffffff !important;
      }

      /* Ticker chips (minimalistas) para listas alcista/bajista */
      .ticker-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid rgba(71, 85, 105, 0.3);
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.7) 0%, rgba(11, 17, 31, 0.8) 100%);
        color: #f1f5f9;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.85rem;
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          color var(--pa-transition),
          box-shadow var(--pa-transition),
          transform var(--pa-transition);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
      }
      .ticker-chip:hover,
      .ticker-chip:focus {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.25) 0%, rgba(14, 165, 233, 0.15) 100%);
        border-color: rgba(14, 165, 233, 0.6);
        color: #ffffff;
        transform: translateY(-1px);
        box-shadow: 0 4px 14px rgba(14, 165, 233, 0.22);
      }
      .ticker-chip:active {
        transform: translateY(0) scale(0.99);
      }
      .ticker-chip-active {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.35) 0%, rgba(14, 165, 233, 0.25) 100%) !important;
        border-color: rgba(14, 165, 233, 0.7) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 16px rgba(14, 165, 233, 0.4), 0 0 20px rgba(14, 165, 233, 0.2) !important;
        font-weight: 700 !important;
      }
      .ticker-chip-active:hover {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.45) 0%, rgba(14, 165, 233, 0.35) 100%) !important;
        border-color: rgba(14, 165, 233, 0.85) !important;
        transform: translateY(-1px);
        box-shadow: 0 4px 16px rgba(14, 165, 233, 0.32) !important;
      }
      /* Botón "Analizar noticia": no a todo el ancho para que el gráfico no lo tape */
      .manual-disclosure {
        position: relative;
        z-index: 2;
      }
      .manual-disclosure > summary {
        list-style: none;
      }
      .manual-disclosure > summary::-webkit-details-marker {
        display: none;
      }
      .manual-disclosure summary.manual-summary-btn {
        width: fit-content;
        max-width: 100%;
      }
      @media (min-width: 992px) {
        .manual-disclosure summary.manual-summary-btn {
          max-width: min(20rem, calc(50% - 0.75rem));
        }
      }
      .signal-box {
        border-radius: var(--radius-md);
        padding: 1.15rem 1.25rem;
        border: 1px solid rgba(148, 163, 184, 0.12);
        background: linear-gradient(145deg, rgba(18, 24, 34, 0.9) 0%, rgba(11, 15, 22, 0.95) 100%);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16);
        transition:
          border-color var(--pa-transition),
          box-shadow var(--pa-transition);
      }
      .signal-box:hover {
        box-shadow: 0 6px 26px rgba(0, 0, 0, 0.2);
      }
      .signal-positive {
        border-color: rgba(52, 211, 153, 0.35);
        background: linear-gradient(145deg, rgba(16, 185, 129, 0.1) 0%, rgba(12, 18, 26, 0.92) 100%);
      }
      .signal-negative {
        border-color: rgba(248, 113, 113, 0.35);
        background: linear-gradient(145deg, rgba(248, 113, 113, 0.08) 0%, rgba(12, 18, 26, 0.92) 100%);
      }
      .signal-neutral {
        border-color: rgba(100, 116, 139, 0.28);
      }

      .btn-primary {
        background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
        border-color: #2563eb !important;
        font-weight: 600;
        letter-spacing: 0.01em;
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          box-shadow var(--pa-transition),
          filter var(--pa-transition),
          transform var(--pa-transition);
        box-shadow: 0 2px 10px rgba(37, 99, 235, 0.22);
      }
      .btn-primary:hover {
        background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
        border-color: #1d4ed8 !important;
        filter: brightness(1.04);
        box-shadow: 0 4px 16px rgba(37, 99, 235, 0.26);
      }
      .btn-primary:active {
        transform: scale(0.98);
        filter: brightness(0.97);
      }
      .btn-outline-primary {
        color: #0ea5e9 !important;
        border-color: rgba(14, 165, 233, 0.55) !important;
      }
      .btn-outline-primary:hover {
        background-color: rgba(14, 165, 233, 0.16) !important;
        border-color: rgba(14, 165, 233, 0.75) !important;
        color: #7dd3fc !important;
      }

      .btn-success {
        background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
        border-color: #10b981 !important;
        font-weight: 600;
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          box-shadow var(--pa-transition),
          filter var(--pa-transition),
          transform var(--pa-transition);
        box-shadow: 0 2px 10px rgba(16, 185, 129, 0.22);
      }
      .btn-success:hover {
        background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
        border-color: #059669 !important;
        filter: brightness(1.05);
        box-shadow: 0 4px 16px rgba(16, 185, 129, 0.28);
      }
      .btn-success:active {
        transform: scale(0.98);
        filter: brightness(0.96);
      }

      .badge.bg-success {
        background: rgba(22, 163, 74, 0.92) !important;
        border: 1px solid rgba(52, 211, 153, 0.25);
        font-weight: 600;
        letter-spacing: 0.02em;
      }
      .badge.bg-danger {
        background: rgba(220, 38, 38, 0.9) !important;
        border: 1px solid rgba(248, 113, 113, 0.22);
        font-weight: 600;
        letter-spacing: 0.02em;
      }
      .badge.bg-secondary {
        background: rgba(71, 85, 105, 0.85) !important;
        border: 1px solid rgba(148, 163, 184, 0.2);
        font-weight: 600;
      }
      .badge.bg-warning {
        background: linear-gradient(135deg, #64748b 0%, #475569 100%) !important;
        border: 1px solid rgba(100, 116, 139, 0.3);
        box-shadow: 0 2px 6px rgba(100, 116, 139, 0.15);
        font-weight: 600;
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes slideInRight {
        from {
          opacity: 0;
          transform: translateX(-10px);
        }
        to {
          opacity: 1;
          transform: translateX(0);
        }
      }

      @keyframes shimmer {
        0% {
          background-position: -1000px 0;
        }
        100% {
          background-position: 1000px 0;
        }
      }

      .animate-fade-in {
        animation: fadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
      }

      .animate-slide-in {
        animation: slideInRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
      }

      /* Card / nav entrance: handled in pa-premium.css (single source, avoids double animation) */

      /* —— Minimal dashboard: rhythm (overrides fine-tuned in pa-premium.css) —— */
      .pa-page.dash-minimal {
        padding-top: 1.5rem !important;
        padding-bottom: 2rem !important;
      }
      @media (min-width: 992px) {
        .pa-page.dash-minimal {
          padding-top: 1.75rem !important;
          padding-bottom: 2.5rem !important;
        }
      }
      .pa-page.dash-minimal > .row {
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 1.25rem;
      }
      .dash-minimal .section-kicker {
        font-size: 0.6875rem;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: rgba(148, 163, 184, 0.9);
        margin-bottom: 0.375rem;
        font-weight: 700;
        line-height: 1.35;
      }
      .dash-minimal .card-body {
        padding: 1rem 1.125rem;
      }
      .dash-minimal .feed-card .card-body {
        padding: 1rem 1.125rem;
      }
      .feed-section-title {
        font-size: 1.125rem;
        font-weight: 650;
        letter-spacing: -0.024em;
        line-height: 1.35;
        color: #f8fafc;
      }
      .feed-card {
        transition:
          border-color var(--pa-transition),
          box-shadow var(--pa-transition);
        cursor: pointer;
      }
      .feed-card:hover {
        border-color: rgba(56, 189, 248, 0.18) !important;
        box-shadow: 0 5px 24px rgba(0, 0, 0, 0.17);
      }
      .feed-card-metrics {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
        margin-bottom: 0.5rem;
      }
      .feed-metric-impact {
        font-size: 0.8125rem;
        font-weight: 700;
        color: #e2e8f0;
        padding: 0.15rem 0.5rem;
        border-radius: 6px;
        background: rgba(15, 23, 42, 0.65);
        border: 1px solid rgba(148, 163, 184, 0.12);
      }
      .feed-metric-ticker {
        font-size: 0.8125rem;
        font-weight: 600;
        color: #94a3b8;
      }
      .feed-meta-row {
        font-size: 0.8125rem;
        color: rgba(148, 163, 184, 0.92) !important;
        font-weight: 500;
        margin-bottom: 0.35rem;
      }
      .feed-meta-row .feed-meta-time {
        font-variant-numeric: tabular-nums;
      }
      .feed-card .feed-meta {
        font-size: 0.8rem;
        color: rgba(148, 163, 184, 0.85);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        font-weight: 500;
      }
      .feed-card .feed-title {
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.45;
        margin-bottom: 0.5rem;
        color: #f8fafc;
        transition: color var(--pa-transition);
      }
      .feed-card:hover .feed-title {
        color: #fff;
      }
      /* Clic en la tarjeta → detalle en la app; solo el botón ↗ abre la URL externa (evita ir a otro sitio por error). */
      .feed-card .feed-card-body {
        position: relative;
      }
      .feed-card .external-source-btn {
        position: relative;
        z-index: 2;
      }
      .stat-pill {
        font-size: 0.8rem;
        padding: 0.3rem 0.7rem;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.8) 0%, rgba(11, 17, 31, 0.9) 100%);
        border: 1px solid rgba(71, 85, 105, 0.3);
        color: #f8fafc;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
      }
      .signal-box-minimal .form-check {
        display: none;
      }
      .main-nav-links {
        display: flex;
        gap: 0.5rem;
        align-items: center;
      }
      .main-nav-link {
        padding: 0.5rem 1rem;
        border-radius: 10px;
        font-weight: 600;
        font-size: 0.9rem;
        color: rgba(226, 232, 240, 0.85);
        text-decoration: none;
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          color var(--pa-transition),
          box-shadow var(--pa-transition),
          transform var(--pa-transition);
        border: 1px solid transparent;
      }
      .main-nav-link:hover {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.15) 0%, rgba(14, 165, 233, 0.08) 100%);
        color: #fff;
        border-color: rgba(14, 165, 233, 0.3);
      }
      .main-nav-link:active {
        transform: scale(0.98);
      }
      .main-nav-link.active {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.25) 0%, rgba(14, 165, 233, 0.12) 100%);
        color: #fff;
        border-color: rgba(14, 165, 233, 0.45);
        box-shadow:
          inset 0 0 0 1px rgba(56, 189, 248, 0.2),
          0 2px 10px rgba(14, 165, 233, 0.14);
      }

      @media (max-width: 992px) {
        .main-nav-links {
          display: none !important;
        }
      }

      .user-menu-dropdown .dropdown-toggle {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.4rem 0.8rem;
        border-radius: 999px;
        border: 1px solid rgba(71, 85, 105, 0.3);
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.6) 0%, rgba(11, 17, 31, 0.7) 100%);
        color: #f1f5f9;
        font-weight: 600;
        font-size: 0.875rem;
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          box-shadow var(--pa-transition),
          transform var(--pa-transition);
      }
      .user-menu-dropdown .dropdown-toggle:hover {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.75) 0%, rgba(11, 17, 31, 0.85) 100%);
        border-color: rgba(14, 165, 233, 0.5);
        box-shadow: 0 3px 12px rgba(14, 165, 233, 0.12);
      }
      .user-menu-dropdown .dropdown-toggle:active {
        transform: scale(0.98);
      }
      .user-menu-dropdown .dropdown-toggle::after {
        margin-left: 0;
      }
      .user-avatar {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: linear-gradient(135deg, #0ea5e9 0%, #10b981 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 0.85rem;
        color: #fff;
        box-shadow: 0 2px 8px rgba(14, 165, 233, 0.3);
      }
      .user-menu-dropdown .dropdown-menu {
        --bs-dropdown-bg: linear-gradient(135deg, rgba(15, 23, 42, 0.98) 0%, rgba(11, 17, 31, 0.98) 100%);
        background: var(--bs-dropdown-bg);
        --bs-dropdown-border-color: rgba(71, 85, 105, 0.3);
        border-radius: 16px;
        margin-top: 0.5rem !important;
        min-width: 240px;
        padding: 0.5rem;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
        backdrop-filter: blur(24px);
      }
      .user-menu-dropdown .dropdown-header {
        color: rgba(148, 163, 184, 0.9);
        font-size: 0.7rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding: 0.5rem 0.75rem 0.25rem;
        font-weight: 700;
      }
      .user-menu-dropdown .dropdown-item {
        color: #e2e8f0;
        padding: 0.6rem 0.75rem;
        border-radius: 10px;
        font-size: 0.9rem;
        font-weight: 500;
        transition:
          background var(--pa-transition),
          color var(--pa-transition),
          transform var(--pa-transition);
        margin: 0.125rem 0;
      }
      .user-menu-dropdown .dropdown-item:hover {
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.2) 0%, rgba(14, 165, 233, 0.1) 100%);
        color: #fff;
        transform: translateX(1px);
      }
      .user-menu-dropdown .dropdown-item:active {
        transform: translateX(0) scale(0.99);
      }
      .user-menu-dropdown .dropdown-item.text-danger {
        color: #fca5a5 !important;
      }
      .user-menu-dropdown .dropdown-item.text-danger:hover {
        background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(239, 68, 68, 0.1) 100%);
        color: #fff !important;
      }
      .user-menu-dropdown .dropdown-divider {
        border-color: rgba(71, 85, 105, 0.3);
        margin: 0.5rem 0;
      }

      .actions-dropdown .dropdown-menu {
        --bs-dropdown-bg: rgba(15, 23, 42, 0.98);
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.98) 0%, rgba(11, 17, 31, 0.98) 100%);
        --bs-dropdown-border-color: rgba(71, 85, 105, 0.3);
        border-radius: 16px;
        margin-top: 0.5rem !important;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
        backdrop-filter: blur(24px);
      }
      .actions-dropdown .dropdown-header {
        color: rgba(148, 163, 184, 0.9);
        font-size: 0.7rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding-bottom: 0.35rem;
        font-weight: 700;
      }
      .actions-dropdown .form-select,
      .actions-dropdown .form-control {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.8) 0%, rgba(11, 17, 31, 0.9) 100%);
        border: 1px solid rgba(71, 85, 105, 0.4);
        color: #fff;
        border-radius: 10px;
        transition:
          border-color var(--pa-transition),
          box-shadow var(--pa-transition),
          background var(--pa-transition);
      }
      .actions-dropdown .form-control:focus,
      .actions-dropdown .form-select:focus {
        border-color: rgba(14, 165, 233, 0.6);
        box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.15);
      }
      .actions-btn {
        min-width: 2.5rem;
        height: 2.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        font-size: 1.1rem;
        border: 1px solid rgba(71, 85, 105, 0.3);
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.6) 0%, rgba(11, 17, 31, 0.7) 100%);
        transition:
          background var(--pa-transition),
          border-color var(--pa-transition),
          box-shadow var(--pa-transition),
          transform var(--pa-transition);
      }
      .actions-btn:hover {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.75) 0%, rgba(11, 17, 31, 0.85) 100%);
        border-color: rgba(14, 165, 233, 0.5);
        box-shadow: 0 3px 12px rgba(14, 165, 233, 0.12);
      }
      .actions-btn:active {
        transform: scale(0.96);
      }
      /* Menú lateral + acordeón: mismo lenguaje minimalista que el dashboard */
      .menu-minimal {
        --menu-border: rgba(148, 163, 184, 0.22);
      }
      .menu-minimal details > summary {
        list-style: none;
      }
      .menu-minimal details > summary::-webkit-details-marker {
        display: none;
      }
      .menu-minimal .menu-summary {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 0.45rem 0.8rem;
        margin-bottom: 0.5rem;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: rgba(226, 232, 240, 0.92);
        background: rgba(9, 16, 30, 0.55);
        border: 1px solid var(--menu-border);
        border-radius: 999px;
        cursor: pointer;
        transition:
          border-color var(--pa-transition),
          background var(--pa-transition);
      }
      .menu-minimal .menu-summary:hover {
        border-color: rgba(14, 165, 233, 0.45);
        background: rgba(14, 165, 233, 0.08);
      }
      .menu-minimal .menu-nav {
        gap: 0.35rem;
      }
      .menu-minimal .menu-link {
        display: block;
        padding: 0.42rem 0.7rem;
        font-size: 0.8125rem;
        font-weight: 500;
        color: rgba(229, 231, 235, 0.9) !important;
        text-decoration: none !important;
        border-radius: 10px;
        border: 1px solid rgba(148, 163, 184, 0.14);
        background: rgba(15, 23, 42, 0.45);
        transition:
          border-color var(--pa-transition),
          background var(--pa-transition),
          color var(--pa-transition),
          transform var(--pa-transition),
          padding var(--pa-transition);
        position: relative;
        overflow: hidden;
      }
      .menu-minimal .menu-link::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 3px;
        background: linear-gradient(135deg, #0ea5e9 0%, #10b981 100%);
        transform: scaleY(0);
        transition: transform var(--pa-transition);
      }
      .menu-minimal .menu-link:hover {
        border-color: rgba(14, 165, 233, 0.4);
        background: rgba(14, 165, 233, 0.1);
        color: #fff !important;
        transform: translateX(2px);
        padding-left: 0.85rem;
      }
      .menu-minimal .menu-link:active {
        transform: translateX(1px) scale(0.99);
      }
      .menu-minimal .menu-link:hover::before {
        transform: scaleY(1);
      }
      .menu-minimal .menu-link.active {
        border-color: rgba(14, 165, 233, 0.55);
        background: rgba(14, 165, 233, 0.16);
        color: #f8fafc !important;
        padding-left: 0.85rem;
      }
      .menu-minimal .menu-link.active::before {
        transform: scaleY(1);
      }
      .menu-minimal .menu-link.menu-link-danger {
        border-color: rgba(248, 113, 113, 0.22);
        color: #fca5a5 !important;
      }
      .menu-minimal .menu-link.menu-link-danger:hover {
        border-color: rgba(248, 113, 113, 0.45);
        background: rgba(220, 38, 38, 0.12);
      }
      /* Dropdown ⋯: secciones y botones alineados al menú */
      .nav-actions-dropdown .dropdown-menu .p-3 {
        padding: 0.75rem 0.9rem !important;
      }
      .nav-actions-dropdown .dropdown-menu .btn {
        font-size: 0.8rem;
        font-weight: 500;
      }
      .nav-actions-dropdown .dropdown-menu .form-select,
      .nav-actions-dropdown .dropdown-menu .form-control {
        border-radius: 10px;
        font-size: 0.8rem;
      }
      /* Idioma en barra superior */
      .nav-lang-form {
        margin: 0;
      }
      .nav-lang-select {
        width: auto;
        min-width: 4.25rem;
        max-width: 5rem;
        padding: 0.28rem 1.85rem 0.28rem 0.65rem;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        border-radius: 999px !important;
        background: rgba(15, 23, 42, 0.88) !important;
        border: 1px solid rgba(148, 163, 184, 0.38) !important;
        color: #f1f5f9 !important;
        cursor: pointer;
        line-height: 1.2;
      }
      .nav-lang-select:focus {
        border-color: rgba(14, 165, 233, 0.55) !important;
        box-shadow: 0 0 0 0.15rem rgba(14, 165, 233, 0.2) !important;
      }

      /* Empty state styling */
      .empty-state {
        text-align: center;
        padding: 3rem 1.5rem;
        background: rgba(15, 23, 42, 0.5);
        border-radius: var(--radius-lg);
        border: 1px solid rgba(148, 163, 184, 0.15);
      }
      .empty-state-icon {
        font-size: 3rem;
        margin-bottom: 1rem;
        opacity: 0.7;
      }

      /* Toast notifications */
      .toast-container {
        position: fixed;
        top: 5rem;
        right: 1rem;
        z-index: 9998;
      }
      .toast-notification {
        background: rgba(15, 23, 42, 0.98);
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 10px;
        padding: 1rem 1.25rem;
        margin-bottom: 0.75rem;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.38);
        min-width: 280px;
        animation: slideIn 0.22s ease-out;
      }
      @keyframes slideIn {
        from { transform: translateX(400px); opacity: 0; }
        to { transform: translateX(0); opacity: 1; }
      }

      /* Loading skeleton */
      .skeleton {
        background: linear-gradient(90deg, rgba(148, 163, 184, 0.1) 25%, rgba(148, 163, 184, 0.2) 50%, rgba(148, 163, 184, 0.1) 75%);
        background-size: 200% 100%;
        animation: shimmer 1.5s infinite;
        border-radius: 8px;
      }
      @keyframes shimmer {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
      }
      .skeleton-text { height: 1rem; margin-bottom: 0.5rem; }
      .skeleton-title { height: 1.5rem; width: 70%; margin-bottom: 0.75rem; }

      /* Quick action buttons */
      .quick-action {
        transition: transform 0.15s ease, box-shadow 0.15s ease;
      }
      .quick-action:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
      }
      .quick-action:active {
        transform: translateY(0);
      }

      /* Mobile enhancements */
      @media (max-width: 768px) {
        .feed-card { margin-bottom: 0.5rem; }
        .card-body { padding: 0.875rem !important; }
        .empty-state { padding: 2rem 1rem; }
        .empty-state-icon { font-size: 2.5rem; }
        .toast-container { right: 0.5rem; left: 0.5rem; }
        .toast-notification { min-width: auto; }
        .context-title { overflow-wrap: anywhere; }
        .metric-token { max-width: 100%; }
        .pulse-item-value { font-size: 0.82rem; word-break: break-word; }
      }

      /* Touch-friendly */
      @media (hover: none) {
        .btn, .ticker-chip, .menu-link {
          min-height: 44px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
        }
        .pa-icon-btn {
          min-height: 44px;
          min-width: 44px;
        }
      }

      /* Strategic dashboard modules */
      .context-strip {
        border: 1px solid rgba(148, 163, 184, 0.12);
        background: linear-gradient(145deg, rgba(18, 24, 34, 0.75) 0%, rgba(10, 13, 19, 0.9) 100%);
        border-radius: var(--radius-lg);
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);
      }
      .context-title {
        font-size: 1.2rem;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.28;
        color: #f8fafc;
      }
      .metric-token {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.3rem 0.6rem;
        border-radius: 999px;
        border: 1px solid rgba(148, 163, 184, 0.24);
        background: rgba(15, 23, 42, 0.62);
        color: #cbd5e1;
        font-size: 0.75rem;
        font-weight: 600;
      }
      .insight-card {
        border: 1px solid rgba(148, 163, 184, 0.1);
        border-radius: var(--radius-lg);
        background: linear-gradient(145deg, rgba(18, 24, 34, 0.78) 0%, rgba(11, 15, 22, 0.9) 100%);
        box-shadow: 0 4px 22px rgba(0, 0, 0, 0.14);
      }
      .insight-title {
        color: #f8fafc;
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.35;
      }
      .insight-copy {
        color: rgba(226, 232, 240, 0.9);
        font-size: 0.9rem;
        line-height: 1.58;
      }
      .score-gauge {
        height: 8px;
        width: 100%;
        border-radius: 999px;
        background: rgba(15, 23, 42, 0.85);
        border: 1px solid rgba(148, 163, 184, 0.22);
        overflow: hidden;
      }
      .score-gauge > span {
        display: block;
        height: 100%;
        border-radius: 999px;
        background: linear-gradient(90deg, #10b981 0%, #0ea5e9 55%, #f59e0b 100%);
      }
      .pulse-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
      }
      .pulse-item {
        border-radius: 10px;
        border: 1px solid rgba(148, 163, 184, 0.12);
        background: rgba(9, 14, 22, 0.55);
        padding: 0.75rem 0.8rem;
      }
      .pulse-item-label {
        font-size: 0.68rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #94a3b8;
      }
      .pulse-item-value {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
        font-weight: 700;
        font-size: 0.9rem;
        color: #e2e8f0;
      }
      .pulse-item-value.pos { color: #4ade80; }
      .pulse-item-value.neg { color: #f87171; }
      .insight-line {
        margin-top: 0.25rem;
        font-size: 0.75rem;
        line-height: 1.52;
        color: rgba(148, 163, 184, 0.88);
        font-weight: 500;
      }
      .right-rail .card-surface-soft {
        border-color: rgba(148, 163, 184, 0.08);
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
      }
      .right-rail .list-group-item-action {
        border-radius: 8px;
        margin-bottom: 4px;
        transition: background var(--pa-transition), transform var(--pa-transition);
      }
      .right-rail .list-group-item-action:hover {
        background: rgba(37, 99, 235, 0.08) !important;
      }
      .pa-rail-item {
        border-radius: 8px;
        transition: background var(--pa-transition);
      }
      .list-compact .list-group-item {
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
      }
