﻿   DASHBOARD STYLES (from DEMO.html)
══════════════════════════════════════════ */
    .dashboard {
      position: relative;
      z-index: 10;
      max-width: 1680px;
      margin: 0 auto;
      padding: 18px 24px 32px;
    }

    .header, .kpi-card, .mod-card, .benefit-card, .stat-card {
      background: linear-gradient(135deg,
          rgba(15, 23, 42, 0.5) 0%,
          rgba(2, 6, 23, 0.4) 50%,
          rgba(15, 23, 42, 0.55) 100%);
      backdrop-filter: blur(12px) saturate(120%);
      border: 1.5px solid rgba(255, 255, 255, 0.15);
      border-top-color: rgba(255, 255, 255, 0.3);
      border-left-color: rgba(255, 255, 255, 0.3);
      border-radius: 16px;
      position: relative;
      overflow: hidden;
      transition: all 0.3s;
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1),
        0 0 0 4px rgba(255, 255, 255, 0.03),
        0 30px 60px rgba(0, 0, 0, 0.5);
    }

    .header:hover, .kpi-card:hover, .mod-card:hover, .benefit-card:hover, .alert-item:hover {
      border-color: rgba(255, 255, 255, 0.4);
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.2),
        0 0 0 6px rgba(255, 255, 255, 0.05),
        0 40px 80px rgba(0, 0, 0, 0.6);
      transform: translateY(-2px);
    }

    /* ── LIGHT MODE GLOSS OVERRIDES ── */
    body.light-mode .header,
    body.light-mode .card,
    body.light-mode .kpi-card,
    body.light-mode .mod-card,
    body.light-mode .benefit-card,
    body.light-mode .stat-card,
    body.light-mode .login-card,
    body.light-mode .chat-panel,
    body.light-mode .main-topbar,
    body.light-mode .action-btn {
      background: rgba(255, 255, 255, 0.45) !important;
      border-color: rgba(15, 23, 42, 0.12) !important;
      border-top-color: #fff !important;
      border-left-color: #fff !important;
      backdrop-filter: blur(14px) saturate(160%) contrast(98%) !important;
      box-shadow: 0 10px 40px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.02) !important;
      color: #0f172a !important;
    }

    body.light-mode .main-title,
    body.light-mode h1, body.light-mode h2, body.light-mode h3,
    body.light-mode .card-title,
    body.light-mode .kpi-label,
    body.light-mode .login-brand-main,
    body.light-mode .header-title h1,
    body.light-mode .header-title h1 span {
      color: #0f172a !important;
    }

    body.light-mode .text-muted,
    body.light-mode small,
    body.light-mode .login-brand-sub,
    body.light-mode .action-sub {
      color: #334155 !important;
    }

    body.light-mode .action-title {
      color: #0f172a !important;
    }

    body.light-mode .action-btn:hover {
      background: rgba(37, 99, 235, 0.1) !important;
      border-color: rgba(37, 99, 235, 0.4) !important;
      box-shadow: 0 0 20px rgba(37, 99, 235, 0.15) !important;
      transform: translateY(-3px);
    }

    body.light-mode .nav-tab { color: #334155; font-weight: 500; }
    body.light-mode .nav-tab:hover, body.light-mode .nav-tab.active { color: #2563eb; background: rgba(37, 99, 235, 0.08); border-color: rgba(37, 99, 235, 0.3); }
    body.light-mode .theme-toggle, body.light-mode .user-badge { background: rgba(15, 23, 42, 0.04); border-color: rgba(15, 23, 42, 0.1); color: #1e293b; }
    body.light-mode #userNameDisplay { color: #0f172a; }

    .vibrant-steel img, .vibrant-steel svg, .vibrant-steel canvas, .vibrant-steel .kpi-icon {
      filter: var(--muted-steel);
    }

    .header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 24px 14px 20px;
      margin-bottom: 20px;
    }

    .header-left {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .logo-mark {
      width: 42px;
      height: 42px;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Outfit', sans-serif;
      font-weight: 700;
      font-size: 18px;
      color: #030d1a;
      box-shadow: 0 0 16px rgba(0, 255, 200, 0.4);
      flex-shrink: 0;
    }

    .header-title {
      display: flex;
      flex-direction: column;
    }

    .header-title h1 {
      font-family: 'Outfit', sans-serif;
      font-size: 22px;
      font-weight: 700;
      letter-spacing: 2px;
      color: #fff;
      line-height: 1;
    }

    .header-title h1 span {
      color: var(--accent);
    }

    .header-title small {
      font-size: 11px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      letter-spacing: 1px;
    }

    .badge-demo {
      padding: 4px 12px;
      background: rgba(255, 77, 109, 0.18);
      border: 1px solid rgba(255, 77, 109, 0.5);
      border-radius: 20px;
      font-size: 10px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent3);
      letter-spacing: 1px;
      font-weight: 600;
      animation: pulse-badge 1s infinite;
    }

    @keyframes pulse-badge {

      0%,
      100% {
        opacity: 1;
      }

      50% {
        opacity: 0.6;
      }
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .live-indicator {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      background: rgba(0, 255, 200, 0.08);
      border: 1px solid rgba(0, 255, 200, 0.3);
      border-radius: 20px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      color: var(--accent);
    }

    .live-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--accent);
      box-shadow: 0 0 8px var(--accent);
      animation: blink 0.8s infinite;
    }

    .header-time {
      font-family: 'JetBrains Mono', monospace;
      font-size: 13px;
      color: var(--text-muted);
      letter-spacing: 1px;
    }

    .latency-control {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .latency-control label {
      font-size: 11px;
      color: var(--text-muted);
    }

    .latency-control select {
      background: rgba(0, 255, 200, 0.08);
      border: 1px solid var(--border);
      color: var(--accent);
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      padding: 4px 8px;
      border-radius: 6px;
      cursor: pointer;
    }

    .latency-control select option {
      background: #1e293b;
    }

    .hexa-brand {
      font-size: 10px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      letter-spacing: 1px;
      opacity: 0.7;
    }

    .kpi-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 14px;
      margin-bottom: 20px;
    }

    .kpi-card {
      padding: 18px 20px;
      cursor: default;
    }

    .kpi-card:hover {
      border-color: rgba(255, 255, 255, 0.4);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), var(--glow);
      transform: scale(1.04);
    }

    .kpi-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      border-radius: 14px 14px 0 0;
    }

    .kpi-card.green::before {
      background: linear-gradient(90deg, var(--accent6), var(--accent));
    }

    .kpi-card.blue::before {
      background: linear-gradient(90deg, var(--accent2), #3b82f6);
    }

    .kpi-card.yellow::before {
      background: linear-gradient(90deg, var(--accent4), #f59e0b);
    }

    .kpi-card.red::before {
      background: linear-gradient(90deg, var(--accent3), #ec4899);
    }

    .kpi-bg-glow {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0;
      transition: opacity 0.3s;
      pointer-events: none;
    }

    .kpi-card:hover .kpi-bg-glow {
      opacity: 1;
    }

    .kpi-card.green .kpi-bg-glow {
      background: radial-gradient(ellipse at 50% 0%, rgba(0, 255, 200, 0.06), transparent 70%);
    }

    .kpi-card.blue .kpi-bg-glow {
      background: radial-gradient(ellipse at 50% 0%, rgba(0, 180, 255, 0.06), transparent 70%);
    }

    .kpi-card.yellow .kpi-bg-glow {
      background: radial-gradient(ellipse at 50% 0%, rgba(255, 190, 11, 0.06), transparent 70%);
    }

    .kpi-card.red .kpi-bg-glow {
      background: radial-gradient(ellipse at 50% 0%, rgba(255, 77, 109, 0.06), transparent 70%);
    }

    .kpi-icon {
      font-size: 22px;
      margin-bottom: 8px;
      display: block;
    }

    .kpi-label {
      font-size: 9px;
      letter-spacing: 1.5px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      margin-bottom: 6px;
      text-transform: uppercase;
    }

    .kpi-value {
      font-family: 'Outfit', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #fff;
      line-height: 1;
    }

    .kpi-sub {
      font-size: 10px;
      margin-top: 6px;
      font-family: 'JetBrains Mono', monospace;
    }

    .kpi-sub.up {
      color: var(--accent6);
    }

    .kpi-sub.down {
      color: var(--accent3);
    }

    .kpi-sub.neutral {
      color: var(--text-muted);
    }

    .main-grid {
      display: grid;
      grid-template-columns: 1fr 0.7fr 0.6fr;
      gap: 16px;
      margin-bottom: 16px;
    }

    .card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 20px;
      backdrop-filter: blur(12px) saturate(140%);
      position: relative;
      overflow: hidden;
      box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.3),
        inset 0 1px 1px rgba(255, 255, 255, 0.03);
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    .card:hover {
      transform: scale(1.01) translateY(-2px);
      box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.3);
    }

    .card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px;
    }

    .card-title {
      font-family: 'Outfit', sans-serif;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 1px;
      color: var(--text-primary);
    }

    .card-badge {
      padding: 3px 10px;
      border-radius: 20px;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      letter-spacing: 1px;
      font-weight: 600;
    }

    .muted-steel {
      filter: saturate(0.55) contrast(0.92) brightness(1.1);
    }

    .card-badge.ai {
      background: rgba(124, 58, 237, 0.15);
      border: 1px solid rgba(124, 58, 237, 0.4);
      color: #a78bfa;
    }

    .chart-wrap {
      height: 200px;
    }

    .donut-legend {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 12px;
      border-radius: 12px;
    }

    .legend-item {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .legend-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .live-feed-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 12px;
    }

    .feed-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 12px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 8px;
      transition: all 0.2s;
      animation: feedIn 0.4s ease;
    }

    @keyframes feedIn {
      from {
        opacity: 0;
        transform: translateY(-8px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .feed-item:hover {
      background: rgba(0, 255, 200, 0.08);
    }

    .feed-amount {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 700;
      color: var(--accent);
    }

    .feed-meta {
      font-size: 10px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      margin-top: 2px;
    }

    .feed-status {
      font-size: 11px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent6);
    }

    .fraud-score-wrap {
      text-align: center;
      margin-bottom: 12px;
    }

    .gauge-container {
      position: relative;
      width: 140px;
      margin: 0 auto 4px;
    }

    .gauge-svg {
      width: 100%;
      height: auto;
    }

    .gauge-label {
      position: absolute;
      top: 55%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-family: 'Outfit', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #fff;
    }

    .gauge-label small {
      font-size: 14px;
      color: var(--text-muted);
    }

    .fraud-metrics {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    .fraud-metric {
      text-align: center;
      padding: 10px;
      background: rgba(0, 255, 200, 0.03);
      border: 1px solid rgba(0, 255, 200, 0.08);
      border-radius: 8px;
    }

    .fraud-metric .val {
      font-family: 'Outfit', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: var(--accent);
    }

    .fraud-metric .lbl {
      font-size: 8px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      letter-spacing: 1px;
      margin-top: 2px;
    }

    .region-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .region-item {}

    .region-row {
      display: flex;
      justify-content: space-between;
      margin-bottom: 4px;
    }

    .region-name {
      font-size: 11px;
      color: var(--text-primary);
    }

    .region-pct {
      font-size: 11px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent);
    }

    .region-bar-bg {
      height: 4px;
      background: rgba(255, 255, 255, 0.06);
      border-radius: 2px;
    }

    .region-bar {
      height: 4px;
      border-radius: 2px;
      transition: width 0.6s ease;
    }

    .table-wrap {
      overflow-x: auto;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      font-size: 12px;
    }

    thead th {
      text-align: left;
      padding: 8px 12px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 9px;
      letter-spacing: 1.5px;
      color: var(--text-muted);
      font-weight: 400;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      text-transform: uppercase;
    }

    tbody tr {
      border-bottom: 1px solid rgba(255, 255, 255, 0.03);
      transition: background 0.2s;
    }

    tbody tr:hover {
      background: rgba(0, 255, 200, 0.03);
    }

    tbody td {
      padding: 9px 12px;
      vertical-align: middle;
    }

    .mono {
      font-family: 'JetBrains Mono', monospace;
    }

    .status-pill {
      padding: 3px 10px;
      border-radius: 20px;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      font-weight: 600;
      letter-spacing: 0.5px;
    }

    .status-pill.approved {
      background: rgba(0, 255, 200, 0.12);
      color: var(--approved);
      border: 1px solid rgba(0, 255, 200, 0.3);
    }

    .status-pill.rejected {
      background: rgba(255, 77, 109, 0.12);
      color: var(--rejected);
      border: 1px solid rgba(255, 77, 109, 0.3);
    }

    .status-pill.review {
      background: rgba(255, 190, 11, 0.12);
      color: var(--review);
      border: 1px solid rgba(255, 190, 11, 0.3);
    }

    .risk-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .risk-dot.low {
      background: var(--risk-low);
      box-shadow: 0 0 4px var(--risk-low);
    }

    .risk-dot.med {
      background: var(--risk-med);
      box-shadow: 0 0 4px var(--risk-med);
    }

    .risk-dot.high {
      background: var(--risk-high);
      box-shadow: 0 0 4px var(--risk-high);
    }

    .risk-text {
      font-size: 10px;
      font-family: 'JetBrains Mono', monospace;
    }

    .risk-text.low {
      color: var(--risk-low);
    }

    .risk-text.med {
      color: var(--risk-med);
    }

    .risk-text.high {
      color: var(--risk-high);
    }

    .alerts-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-height: 280px;
      overflow-y: auto;
    }

    .alerts-list::-webkit-scrollbar {
      width: 4px;
    }

    .alerts-list::-webkit-scrollbar-track {
      background: transparent;
    }

    .alerts-list::-webkit-scrollbar-thumb {
      background: rgba(0, 255, 200, 0.2);
      border-radius: 2px;
    }

    .alert-item {
      padding: 12px;
      background: rgba(15, 23, 42, 0.3);
      border: 1px solid rgba(255, 77, 109, 0.2);
      border-radius: 10px;
      transition: all 0.3s;
    }
    .alert-item:hover {
      background: rgba(15, 23, 42, 0.5);
      border-color: rgba(255, 77, 109, 0.4);
    }

    .alert-item.resolved {
      background: rgba(0, 255, 200, 0.04);
      border-color: rgba(0, 255, 200, 0.15);
      opacity: 0.7;
    }

    .alert-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 6px;
    }

    .alert-type {
      font-size: 10px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent3);
      font-weight: 600;
      letter-spacing: 1px;
    }

    .alert-time {
      font-size: 9px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
    }

    .alert-msg {
      font-size: 11px;
      color: var(--text-primary);
      margin-bottom: 6px;
      line-height: 1.4;
    }

    .alert-amount {
      font-family: 'Outfit', sans-serif;
      font-size: 16px;
      color: var(--accent3);
      font-weight: 700;
      margin-bottom: 8px;
    }

    .btn-resolve {
      padding: 5px 14px;
      background: rgba(255, 77, 109, 0.1);
      border: 1px solid rgba(255, 77, 109, 0.4);
      border-radius: 6px;
      font-size: 10px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent3);
      cursor: pointer;
      transition: all 0.2s;
      letter-spacing: 1px;
    }

    .btn-resolve:hover:not([disabled]) {
      background: rgba(255, 77, 109, 0.2);
      border-color: #ff4d6d;
    }

    .btn-resolve.resolved-btn {
      background: rgba(0, 255, 200, 0.08);
      border-color: rgba(0, 255, 200, 0.3);
      color: var(--accent6);
      cursor: default;
    }

    .actions-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 16px;
    }

    .action-btn {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 16px 18px;
      background: var(--bg-card2);
      border: 1px solid var(--border);
      border-radius: 12px;
      cursor: pointer;
      transition: all 0.25s;
    }

    .action-btn:hover {
      background: rgba(0, 255, 200, 0.1);
      border-color: rgba(0, 255, 200, 0.5);
      box-shadow: var(--glow);
      transform: translateY(-2px);
    }

    .action-btn.blue {
      background: rgba(0, 180, 255, 0.05);
      border-color: rgba(0, 180, 255, 0.2);
    }

    .action-btn.blue:hover {
      background: rgba(0, 180, 255, 0.1);
      border-color: rgba(0, 180, 255, 0.5);
      box-shadow: var(--glow2);
    }

    .action-btn.red {
      background: rgba(255, 77, 109, 0.05);
      border-color: rgba(255, 77, 109, 0.2);
    }

    .action-btn.red:hover {
      background: rgba(255, 77, 109, 0.1);
      border-color: rgba(255, 77, 109, 0.5);
    }

    .action-btn.yellow {
      background: rgba(255, 190, 11, 0.05);
      border-color: rgba(255, 190, 11, 0.2);
    }

    .action-btn.yellow:hover {
      background: rgba(255, 190, 11, 0.1);
      border-color: rgba(255, 190, 11, 0.5);
    }

    .action-icon {
      font-size: 24px;
    }

    .action-title {
      display: block;
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 600;
      color: #fff;
    }

    .action-sub {
      display: block;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--text-muted);
      letter-spacing: 1px;
      margin-top: 2px;
    }

    /* NOTIF */
    #notif {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 999;
      width: 320px;
      background: rgba(3, 13, 26, 0.95);
      border: 1px solid rgba(0, 255, 200, 0.3);
      border-radius: 12px;
      padding: 16px 20px;
      backdrop-filter: blur(16px);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), var(--glow);
      transform: translateY(20px);
      opacity: 0;
      transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      pointer-events: none;
    }

    #notif.show {
      transform: translateY(0);
      opacity: 1;
      pointer-events: auto;
    }

    #notifTitle {
      font-family: 'Outfit', sans-serif;
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 4px;
    }

    #notifMsg {
      font-size: 11px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      line-height: 1.4;
    }

    #footerUpdate {
      font-size: 10px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      text-align: center;
      padding: 16px 0 8px;
      letter-spacing: 1px;
    }

    /* bottom grid */
    .bottom-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      width: 100%;
    }

    /* ═══════════════════════════════════════
   PROPUESTA ARQUITECTÓNICA STYLES
══════════════════════════════════════════ */
    .propuesta-wrap {
      max-width: 1400px;
      margin: 0 auto;
      padding: 24px 24px 40px;
      position: relative;
      z-index: 10;
    }

    .prop-hero {
      text-align: center;
      padding: 48px 24px 40px;
      margin-bottom: 32px;
      background: var(--bg-card);
      border: 1px solid rgba(0, 212, 255, 0.2);
      border-radius: 20px;
      backdrop-filter: blur(10px);
      position: relative;
      overflow: hidden;
    }

    .prop-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(0, 100, 200, 0.12) 0%, transparent 70%);
      pointer-events: none;
    }

    .prop-badge {
      display: inline-block;
      padding: 6px 18px;
      border: 1px solid rgba(0, 212, 255, 0.4);
      border-radius: 20px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      letter-spacing: 3px;
      color: var(--accent);
      margin-bottom: 20px;
    }

    .prop-hero h1 {
      font-family: 'Orbitron', monospace;
      font-size: 42px;
      font-weight: 900;
      color: #fff;
      line-height: 1.1;
      margin-bottom: 8px;
    }

    .prop-hero h1 span {
      color: var(--accent);
    }

    .prop-hero p {
      font-size: 16px;
      color: var(--text-muted);
      max-width: 600px;
      margin: 0 auto 28px;
      line-height: 1.6;
    }

    .prop-hero-badges {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
    }

    .prop-hero-badge {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 18px;
      background: rgba(30, 41, 59, 0.6);
      border: 1px solid rgba(0, 212, 255, 0.25);
      border-radius: 10px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      letter-spacing: 1px;
    }

    .prop-hero-badge .badge-icon {
      font-size: 18px;
    }

    .prop-hero-badge .badge-label {
      color: var(--text-muted);
    }

    .prop-hero-badge .badge-val {
      color: var(--accent);
      font-weight: 700;
    }

    .section-title {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 4px;
      color: var(--accent);
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .section-h2 {
      font-family: 'Orbitron', monospace;
      font-size: 26px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 6px;
      line-height: 1.2;
    }

    .section-h2 span {
      color: var(--accent);
    }

    .section-p {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 28px;
      max-width: 700px;
    }

    /* Needs grid */
    .needs-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }

    .need-card {
      background: var(--bg-card);
      border: 1px solid rgba(255, 77, 109, 0.2);
      border-radius: 14px;
      padding: 20px;
      backdrop-filter: blur(8px);
      position: relative;
      overflow: hidden;
      transition: all 0.3s;
    }

    .need-card:hover {
      border-color: rgba(255, 77, 109, 0.5);
      transform: translateY(-4px);
      box-shadow: 0 8px 32px rgba(255, 77, 109, 0.1);
    }

    .need-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--accent3), #ec4899);
    }

    .need-icon {
      font-size: 28px;
      margin-bottom: 12px;
      display: block;
    }

    .need-title {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 8px;
    }

    .need-desc {
      font-size: 12px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 12px;
    }

    .need-impact {
      display: inline-block;
      padding: 3px 10px;
      background: rgba(255, 77, 109, 0.1);
      border: 1px solid rgba(255, 77, 109, 0.3);
      border-radius: 20px;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent3);
      letter-spacing: 1px;
    }

    /* Architecture diagram */
    .arch-section {
      margin-bottom: 48px;
    }

    .arch-diagram-wrap {
      background: var(--bg-card);
      border: 1px solid var(--border2);
      border-radius: 20px;
      padding: 32px;
      backdrop-filter: blur(10px);
      overflow: hidden;
    }

    .arch-flow {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 24px;
    }

    .arch-node {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      background: rgba(0, 20, 50, 0.7);
      border: 1px solid rgba(0, 212, 255, 0.25);
      border-radius: 12px;
      padding: 16px 20px;
      text-align: center;
      min-width: 110px;
      transition: all 0.3s;
      cursor: default;
    }

    .arch-node:hover {
      border-color: var(--accent);
      box-shadow: var(--glow);
      transform: translateY(-3px);
    }

    .arch-node-icon {
      font-size: 24px;
    }

    .arch-node-label {
      font-family: 'JetBrains Mono', monospace;
      font-size: 9px;
      letter-spacing: 1.5px;
      color: var(--accent);
      font-weight: 700;
      text-transform: uppercase;
    }

    .arch-node-sub {
      font-size: 9px;
      color: var(--text-muted);
    }

    .arch-arrow {
      font-size: 20px;
      color: rgba(0, 212, 255, 0.4);
      flex-shrink: 0;
    }

    .arch-layers {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 24px;
    }

    .arch-layer {
      background: rgba(0, 15, 40, 0.6);
      border: 1px solid rgba(0, 212, 255, 0.1);
      border-radius: 12px;
      padding: 16px;
    }

    .arch-layer-title {
      font-family: 'JetBrains Mono', monospace;
      font-size: 9px;
      letter-spacing: 2px;
      color: var(--accent);
      margin-bottom: 12px;
      text-transform: uppercase;
      border-bottom: 1px solid rgba(0, 212, 255, 0.1);
      padding-bottom: 8px;
    }

    .arch-tech {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 0;
      font-size: 12px;
      color: var(--text-primary);
    }

    .arch-tech-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0;
    }

    /* Solutions grid */
    .solutions-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }

    .solution-card {
      background: var(--bg-card);
      border: 1px solid rgba(0, 212, 255, 0.15);
      border-radius: 16px;
      padding: 24px;
      backdrop-filter: blur(8px);
      transition: all 0.3s;
    }

    .solution-card:hover {
      border-color: rgba(0, 212, 255, 0.4);
      transform: translateY(-4px);
      box-shadow: var(--glow2);
    }

    .solution-num {
      font-family: 'Orbitron', monospace;
      font-size: 36px;
      font-weight: 900;
      color: rgba(0, 212, 255, 0.15);
      margin-bottom: 8px;
      line-height: 1;
    }

    .solution-title {
      font-family: 'Outfit', sans-serif;
      font-size: 17px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 10px;
    }

    .solution-title span {
      color: var(--accent);
    }

    .solution-desc {
      font-size: 12px;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 14px;
    }

    .solution-tags {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .solution-tag {
      padding: 3px 10px;
      background: rgba(0, 212, 255, 0.08);
      border: 1px solid rgba(0, 212, 255, 0.2);
      border-radius: 20px;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent);
      letter-spacing: 1px;
    }

    /* KPI Impact table */
    .impact-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }

    .impact-card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 24px 20px;
      backdrop-filter: blur(8px);
      text-align: center;
      transition: all 0.3s;
    }

    .impact-card:hover {
      border-color: rgba(0, 212, 255, 0.4);
      transform: translateY(-4px);
      box-shadow: var(--glow);
    }

    .impact-val {
      font-family: 'Orbitron', monospace;
      font-size: 32px;
      font-weight: 900;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 6px;
    }

    .impact-label {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      font-weight: 600;
      color: #fff;
      margin-bottom: 6px;
    }

    .impact-sub {
      font-size: 10px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      line-height: 1.5;
    }

    /* Timeline */
    .timeline {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 12px;
      margin-bottom: 48px;
    }

    .tl-phase {
      background: var(--bg-card);
      border: 1px solid var(--border2);
      border-radius: 12px;
      padding: 16px;
      backdrop-filter: blur(8px);
      position: relative;
      transition: all 0.3s;
    }

    .tl-phase:hover {
      border-color: rgba(0, 212, 255, 0.4);
      transform: translateY(-3px);
    }

    .tl-num {
      font-family: 'Orbitron', monospace;
      font-size: 28px;
      font-weight: 900;
      color: rgba(0, 212, 255, 0.15);
      margin-bottom: 4px;
    }

    .tl-title {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 6px;
    }

    .tl-dur {
      display: inline-block;
      padding: 2px 8px;
      background: rgba(0, 212, 255, 0.08);
      border: 1px solid rgba(0, 212, 255, 0.2);
      border-radius: 20px;
      font-size: 9px;
      font-family: 'JetBrains Mono', monospace;
      color: var(--accent);
      letter-spacing: 1px;
      margin-bottom: 8px;
    }

    .tl-desc {
      font-size: 11px;
      color: var(--text-muted);
      line-height: 1.5;
    }

    /* Security */
    .security-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }

    .sec-card {
      background: var(--bg-card);
      border: 1px solid var(--border2);
      border-radius: 14px;
      padding: 22px;
      backdrop-filter: blur(8px);
    }

    .sec-title {
      font-family: 'Outfit', sans-serif;
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 14px;
    }

    .sec-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 8px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.04);
      font-size: 12px;
      color: var(--text-primary);
    }

    .sec-item:last-child {
      border: none;
    }

    .sec-check {
      color: var(--accent6);
      font-size: 14px;
      flex-shrink: 0;
      margin-top: 1px;
    }

    .sec-item-sub {
      font-size: 10px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      margin-top: 2px;
    }

    /* CTA section */
    .cta-section {
      background: var(--bg-card);
      backdrop-filter: blur(12px);
      text-align: center;
      position: relative;
      overflow: hidden;
      margin-bottom: 24px;
    }

    .cta-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(0, 100, 200, 0.1), transparent 70%);
    }

    .cta-title {
      font-family: 'Orbitron', monospace;
      font-size: 32px;
      font-weight: 900;
      color: #fff;
      margin-bottom: 12px;
      line-height: 1.2;
    }

    .cta-title span {
      color: var(--accent);
    }

    .cta-p {
      font-size: 15px;
      color: var(--text-muted);
      max-width: 500px;
      margin: 0 auto 28px;
      line-height: 1.6;
    }

    .cta-buttons {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .cta-btn {
      padding: 14px 32px;
      font-family: 'Orbitron', monospace;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      border-radius: 10px;
      cursor: pointer;
      transition: all 0.3s;
      border: none;
      text-transform: uppercase;
    }

    .cta-btn.primary {
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      color: #030d1a;
      box-shadow: 0 0 24px rgba(0, 212, 255, 0.3);
    }

    .cta-btn.primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 0 40px rgba(0, 212, 255, 0.5);
    }

    .cta-btn.secondary {
      background: transparent;
      border: 1px solid rgba(0, 212, 255, 0.4);
      color: var(--accent);
    }

    .cta-btn.secondary:hover {
      background: rgba(0, 212, 255, 0.08);
      border-color: var(--accent);
    }

    .prop-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 24px;
      background: var(--bg-card);
      border: 1px solid rgba(0, 212, 255, 0.1);
      border-radius: 12px;
      backdrop-filter: blur(8px);
    }

    .prop-footer-brand {
      font-family: 'Orbitron', monospace;
      font-size: 13px;
      font-weight: 700;
      color: var(--accent);
      letter-spacing: 2px;
    }

    .prop-footer-meta {
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      color: var(--text-muted);
      letter-spacing: 1px;
    }

    /* ═══════════════════════════════════════════════════════════════════════════
   ESTILOS PARA MÓDULOS AVANZADOS
═══════════════════════════════════════════════════════════════════════════ */

    /* Animaciones */
    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(8px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes slideIn {
      from {
        transform: translateX(-100%);
      }

      to {
        transform: translateX(0);
      }
    }

    .counter {
      font-variant-numeric: tabular-nums;
    }

    /* Sección de módulos */
    #modules-container {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    /* Compatibilidad con Chart.js predictivo */
    #predictiveChart {
      max-height: 200px;
    }

    /* Mejoras de tabla */
    table {
      width: 100%;
    }

    table th {
      font-weight: 600;
      letter-spacing: 0.5px;
    }

    table tr:hover {
      background: rgba(0, 212, 255, 0.05) !important;
    }

    /* Botones mejorados */
    button {
      transition: all 0.3s ease;
    }

    button:hover:not(:disabled) {
      transform: translateY(-1px);
    }

    button:active:not(:disabled) {
      transform: translateY(0);
    }

    /* ═══ TOOLTIPS ═══ */
    [data-tooltip] {
      cursor: help;
      position: relative;
      border-bottom: 1px dotted rgba(0, 255, 200, 0.3);
    }

    .tooltip-box {
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: rgba(15, 23, 42, 0.75);
      border: 1px solid rgba(0, 212, 255, 0.4);
      backdrop-filter: blur(8px);
      border-radius: 8px;
      padding: 8px 12px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      color: #e8f4ff;
      white-space: nowrap;
      z-index: 99999;
      pointer-events: none;
      box-shadow: 0 0 20px rgba(0, 212, 255, 0.25);
      opacity: 0;
      transition: opacity .18s;
      max-width: 280px;
      white-space: normal;
      line-height: 1.5;
    }

    .tooltip-box::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      border: 5px solid transparent;
      border-top-color: rgba(0, 212, 255, 0.4);
    }

    [data-tooltip]:hover .tooltip-box {
      opacity: 1;
    }

    /* ═══ THEME TOGGLE ═══ */
    .theme-toggle {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 4px 10px;
      border: 1px solid rgba(0, 212, 255, 0.25);
      border-radius: 20px;
      background: rgba(0, 212, 255, 0.06);
      cursor: pointer;
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      color: var(--accent);
      transition: all .3s;
    }

    .theme-toggle:hover {
      background: rgba(0, 212, 255, 0.12);
    }

    body.light-mode {
      --accent: #0284c7;
      --accent2: #0369a1;
      --accent3: #be123c;
      --accent4: #b45309;
      --accent5: #6d28d9;
      --accent6: #059669;
      --bg-dark: #040d1a;
      --bg-card: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 50%, rgba(15, 23, 42, 0.12) 100%);
      --bg-card2: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(15, 23, 42, 0.08) 100%);
      --text-primary: #0f172a;
      --text-muted: #475569;
      --border: rgba(255, 255, 255, 0.8);
      --border2: rgba(0, 0, 0, 0.08);
      --muted-steel: saturate(1) contrast(1);
    }

    body.light-mode .bg-image {
      opacity: 1;
      filter: blur(1.5px);
    }

    body.light-mode .bg-overlay {
      background: radial-gradient(circle at center, rgba(255, 255, 255, 0.05) 0%, rgba(240, 249, 255, 0.1) 100%) !important;
      backdrop-filter: blur(3px) !important;
    }

    body.light-mode .main-topbar,
    body.light-mode #mainApp>header,
    body.light-mode .header {
      background: var(--bg-card);
      border-bottom-color: rgba(255, 255, 255, 0.4);
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
      backdrop-filter: blur(25px) saturate(160%);
    }

    body.light-mode .card,
    body.light-mode .kpi-card,
    body.light-mode .mod-card {
      background: var(--bg-card);
      border: 1.5px solid rgba(255, 255, 255, 0.8);
      box-shadow: 0 15px 45px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(20px) saturate(180%);
    }

    body.light-mode .action-btn {
      background: rgba(255, 255, 255, 0.9);
      border-color: rgba(255, 255, 255, 0.8);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    }

    body.light-mode .action-title {
      color: #0f172a;
    }

    body.light-mode .nav-tab {
      color: #334155;
    }

    body.light-mode .nav-tab.active {
      color: #0284c7;
      background: rgba(2, 132, 199, 0.08);
      border-color: rgba(2, 132, 199, 0.4);
    }

    body.light-mode .section-h2,
    body.light-mode .need-title {
      color: #0f172a;
    }

    body.light-mode .section-p,
    body.light-mode .need-desc {
      color: #334155;
    }

    body.light-mode .prop-hero {
      background: #ffffff;
      box-shadow: 0 20px 50px rgba(0, 50, 150, 0.1);
      border-color: rgba(0, 132, 199, 0.2);
    }

    body.light-mode .need-card {
      background: #ffffff;
      box-shadow: 0 10px 30px rgba(0, 50, 150, 0.06);
    }

    /* ═══ CHATBOT PANEL ═══ */
    .chatbot-fab {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 9990;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
    }

    .fab-btn {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      box-shadow: 0 0 24px rgba(0, 212, 255, 0.4);
      transition: all .3s;
    }

    .fab-oracle {
      background: linear-gradient(135deg, #7c3aed, #00d4ff);
    }

    .fab-bot {
      background: linear-gradient(135deg, #00d4ff, #10b981);
    }

    .fab-btn:hover {
      transform: scale(1.1);
      box-shadow: 0 0 40px rgba(0, 212, 255, 0.6);
    }

    .chat-panel {
      position: fixed;
      bottom: 90px;
      right: 28px;
      z-index: 9989;
      width: 380px;
      max-height: 540px;
      background: var(--bg-card);
      border: 1px solid var(--border);
      backdrop-filter: blur(14px) saturate(140%);
      border-radius: 16px;
      display: flex;
      flex-direction: column;
      box-shadow: 0 0 40px rgba(0, 180, 255, 0.2);
      transition: all .3s;
      transform-origin: bottom right;
    }

    .chat-panel.hidden {
      opacity: 0;
      pointer-events: none;
      transform: scale(0.85);
    }

    .chat-header {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(0, 212, 255, 0.12);
    }

    .chat-header-icon {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
    }

    .chat-header-name {
      font-family: 'Outfit', sans-serif;
      font-weight: 700;
      font-size: 14px;
      color: #fff;
    }

    .chat-header-status {
      font-size: 10px;
      color: #00ffc8;
      font-family: 'JetBrains Mono', monospace;
    }

    .chat-close {
      margin-left: auto;
      background: none;
      border: none;
      color: var(--text-muted);
      cursor: pointer;
      font-size: 18px;
      padding: 4px;
    }

    .chat-close:hover {
      color: #fff;
    }

    .chat-messages {
      flex: 1;
      overflow-y: auto;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      min-height: 220px;
      max-height: 340px;
    }

    .chat-messages::-webkit-scrollbar {
      width: 3px;
    }

    .chat-messages::-webkit-scrollbar-thumb {
      background: rgba(0, 212, 255, .2);
      border-radius: 3px;
    }

    .chat-bubble {
      padding: 9px 13px;
      border-radius: 12px;
      font-size: 12px;
      line-height: 1.55;
      max-width: 88%;
    }

    .chat-bubble.user {
      background: rgba(0, 212, 255, 0.12);
      border: 1px solid rgba(0, 212, 255, 0.2);
      align-self: flex-end;
      color: #e8f4ff;
    }

    .chat-bubble.bot {
      background: rgba(124, 58, 237, 0.1);
      border: 1px solid rgba(124, 58, 237, 0.2);
      align-self: flex-start;
      color: #e8f4ff;
    }

    .chat-bubble.bot.oracle-style {
      background: rgba(124, 58, 237, 0.14);
      border-color: rgba(124, 58, 237, 0.35);
    }

    .chat-typing {
      display: flex;
      gap: 4px;
      padding: 8px 12px;
      align-self: flex-start;
    }

    .chat-typing span {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent);
      animation: typing-dot 1.2s infinite;
    }

    .chat-typing span:nth-child(2) {
      animation-delay: .2s;
    }

    .chat-typing span:nth-child(3) {
      animation-delay: .4s;
    }

    @keyframes typing-dot {

      0%,
      80%,
      100% {
        opacity: .2;
        transform: scale(.8);
      }

      40% {
        opacity: 1;
        transform: scale(1);
      }
    }

    .chat-input-row {
      display: flex;
      gap: 8px;
      padding: 10px 12px;
      border-top: 1px solid rgba(0, 212, 255, 0.1);
    }

    .chat-input {
      flex: 1;
      background: rgba(15, 23, 42, 0.2);
      border: 1px solid rgba(0, 212, 255, 0.15);
      border-radius: 8px;
      padding: 7px 10px;
      color: #e8f4ff;
      font-family: 'Inter', sans-serif;
      font-size: 12px;
      outline: none;
    }

    .chat-input:focus {
      border-color: rgba(0, 212, 255, 0.4);
    }

    .chat-send {
      padding: 7px 14px;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      font-family: 'Outfit', sans-serif;
      font-weight: 700;
      font-size: 12px;
      background: linear-gradient(135deg, var(--accent), #7c3aed);
      color: #fff;
      transition: box-shadow .3s;
    }

    .chat-send:hover {
      box-shadow: 0 0 20px rgba(0, 212, 255, 0.4);
    }

    .chat-send:disabled {
      opacity: .5;
      cursor: not-allowed;
    }

    /* ═══ SECURITY SCORE ═══ */
    .sec-score-badge {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 4px 12px;
      border-radius: 20px;
      background: rgba(0, 255, 200, 0.07);
      border: 1px solid rgba(0, 255, 200, 0.22);
      cursor: pointer;
      transition: all .3s;
    }

    .sec-score-badge:hover {
      background: rgba(0, 255, 200, 0.14);
    }

    .sec-score-num {
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      color: #00ffc8;
      font-weight: 700;
    }

    .sec-shield {
      font-size: 13px;
    }

    /* ═══ MODULES CSS ═══ */
    .mod-section {
      margin-bottom: 36px;
    }

    .mod-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
    }

    .mod-icon {
      font-size: 22px;
    }

    .mod-title {
      font-family: 'Outfit', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: #fff;
    }

    .mod-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 16px;
    }

    .mod-card {
      padding: 20px;
    }

    .mod-card-title {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 700;
      color: var(--accent);
      margin-bottom: 10px;
    }

    .mod-stat {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 7px 0;
      border-bottom: 1px solid rgba(0, 212, 255, 0.07);
    }

    .mod-stat:last-child {
      border-bottom: none;
    }

    .mod-stat-label {
      font-size: 11px;
      color: var(--text-muted);
    }

    .mod-stat-val {
      font-family: 'JetBrains Mono', monospace;
      font-size: 12px;
      color: #e8f4ff;
    }

    .mod-stat-val.green {
      color: #00ffc8;
    }

    .mod-stat-val.yellow {
      color: #ffbe0b;
    }

    .mod-stat-val.red {
      color: #ff4d6d;
    }

    .mod-badge {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 20px;
      font-size: 10px;
      font-weight: 600;
    }

    .mod-badge.approved {
      background: rgba(0, 255, 200, 0.12);
      color: #00ffc8;
      border: 1px solid rgba(0, 255, 200, 0.25);
    }

    .mod-badge.review {
      background: rgba(255, 190, 11, 0.12);
      color: #ffbe0b;
      border: 1px solid rgba(255, 190, 11, 0.25);
    }

    .mod-badge.appeal {
      background: rgba(124, 58, 237, 0.12);
      color: #a78bfa;
      border: 1px solid rgba(124, 58, 237, 0.25);
    }

    .benefit-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 16px;
      margin-bottom: 32px;
    }

    .benefit-card {
      padding: 24px 20px;
      text-align: center;
    }

    .benefit-icon {
      font-size: 28px;
      margin-bottom: 8px;
    }

    .benefit-num {
      font-family: 'Outfit', sans-serif;
      font-size: 32px;
      font-weight: 900;
      color: var(--accent);
      margin-bottom: 4px;
    }

    .benefit-label {
      font-size: 11px;
      color: var(--text-muted);
      font-family: 'JetBrains Mono', monospace;
      letter-spacing: 1px;
    }

    .benefit-desc {
      font-size: 11px;
      color: rgba(232, 244, 255, .5);
      margin-top: 8px;
    }

    .ob-bank-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
      gap: 8px;
      margin-top: 12px;
    }

    .ob-bank {
      padding: 8px;
      border: 1px solid rgba(0, 212, 255, 0.12);
      border-radius: 8px;
      text-align: center;
      font-size: 10px;
      color: var(--text-muted);
      background: rgba(0, 212, 255, 0.03);
      transition: all .2s;
      cursor: pointer;
    }

    .ob-bank:hover {
      border-color: rgba(0, 212, 255, 0.4);
      color: var(--accent);
    }

    .ob-bank.connected {
      border-color: rgba(0, 255, 200, 0.4);
      color: #00ffc8;
      background: rgba(0, 255, 200, 0.05);
    }

    .pred-chart-wrap {
      height: 180px;
      margin: 16px 0;
      position: relative;
    }

    .chargeback-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .chargeback-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 14px;
      background: rgba(0, 212, 255, 0.04);
      border: 1px solid rgba(0, 212, 255, 0.1);
      border-radius: 10px;
      gap: 12px;
    }

    .chargeback-id {
      font-family: 'JetBrains Mono', monospace;
      font-size: 10px;
      color: var(--text-muted);
    }

    .chargeback-merchant {
      font-size: 12px;
      color: #e8f4ff;
    }

    .chargeback-amount {
      font-family: 'JetBrains Mono', monospace;
      font-size: 12px;
      color: #ffbe0b;
    }
  
