
    * { box-sizing: border-box; margin: 0; padding: 0; }
    
    body { 
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
      background: #0f172a; 
      color: #f8fafc; 
      min-height: 100vh;
      display: flex;
    }

    /* Layout principal */
    .app-container {
      display: flex;
      width: 100%;
      min-height: 100vh;
    }

    /* BARRA LATERAL (SIDEBAR) */
    .sidebar {
      width: 260px;
      background: #1e293b;
      border-right: 1px solid #334155;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 25px 20px;
      transition: transform 0.3s ease;
      z-index: 100;
    }

    .sidebar-header {
      margin-bottom: 30px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 20px;
      font-weight: bold;
      color: #ffffff;
    }

    .brand-icon {
      background: #009ee3;
      color: white;
      width: 36px;
      height: 36px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 18px;
    }

    .nav-menu {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .nav-item a {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 14px;
      color: #94a3b8;
      text-decoration: none;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.2s ease;
      cursor: pointer;
    }

    .nav-item a:hover, .nav-item.active a {
      background: #334155;
      color: #38bdf8;
    }

    .sidebar-footer {
      border-top: 1px solid #334155;
      padding-top: 20px;
    }

    .system-status {
      font-size: 12px;
      color: #64748b;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .status-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #10b981;
      font-weight: bold;
    }

    .status-dot {
      width: 8px;
      height: 8px;
      background-color: #10b981;
      border-radius: 50%;
    }

    /* CONTENIDO PRINCIPAL */
    .main-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 40px 20px;
      position: relative;
    }

    /* Botón Hamburguesa para Móviles */
    .mobile-toggle {
      display: none;
      position: absolute;
      top: 20px;
      left: 20px;
      background: #1e293b;
      border: 1px solid #334155;
      color: white;
      padding: 10px 14px;
      border-radius: 8px;
      cursor: pointer;
      font-size: 18px;
    }

    /* Tarjeta de Compra */
    .card { 
      background: #1e293b; 
      border: 1px solid #334155; 
      padding: 40px; 
      border-radius: 16px; 
      text-align: center; 
      max-width: 500px; 
      width: 100%; 
      box-shadow: 0 10px 25px rgba(0,0,0,0.5); 
      transition: opacity 0.2s ease;
    }

    .badge { 
      background: #38bdf8; 
      color: #0f172a; 
      font-weight: bold; 
      font-size: 12px; 
      padding: 4px 12px; 
      border-radius: 12px; 
      text-transform: uppercase; 
      letter-spacing: 1px; 
      display: inline-block; 
      margin-bottom: 15px; 
    }

    h1 { font-size: 28px; margin-bottom: 10px; color: #ffffff; }
    p { color: #94a3b8; font-size: 15px; line-height: 1.6; margin-bottom: 20px; }
    
    .btn-pay { 
      display: inline-block; 
      width: 100%; 
      background: #009ee3; 
      color: white; 
      padding: 16px 20px; 
      border: none;
      border-radius: 8px; 
      font-size: 16px; 
      font-weight: bold; 
      cursor: pointer;
      transition: background 0.2s ease, transform 0.1s ease; 
    }
    .btn-pay:hover { background: #0082be; transform: translateY(-2px); }
    .btn-pay:disabled { background: #475569; cursor: not-allowed; transform: none; }
    
    .footer-info { margin-top: 25px; font-size: 12px; color: #64748b; }

    /* RESPONSIVE (Móviles y Tablets) */
    @media (max-width: 768px) {
      .mobile-toggle { display: block; }
      
      .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        transform: translateX(-100%);
      }

      .sidebar.open {
        transform: translateX(0);
        box-shadow: 10px 0 30px rgba(0,0,0,0.8);
      }
    }
