 * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: Arial, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
    .container { background: white; padding: 2rem; border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); max-width: 400px; width: 100%; }
    h1 { color: #667eea; margin-bottom: 1.5rem; text-align: center; }
    h2 { color: #667eea; margin-bottom: 1rem; font-size: 1.3rem; }
    .form-group { margin-bottom: 1rem; }
    label { display: block; margin-bottom: 0.5rem; color: #333; font-weight: bold; }
    input, select { width: 100%; padding: 0.75rem; border: 2px solid #ddd; border-radius: 5px; font-size: 1rem; }
    button { width: 100%; padding: 0.75rem; background: #667eea; color: white; border: none; border-radius: 5px; font-size: 1rem; cursor: pointer; margin-top: 1rem; font-weight: bold; }
    button:hover { background: #5568d3; }
    button:disabled { background: #ccc; cursor: not-allowed; }
    .plan-card { border: 2px solid #ddd; padding: 1rem; margin: 0.5rem 0; border-radius: 5px; cursor: pointer; transition: all 0.3s; }
    .plan-card:hover, .plan-card.selected { border-color: #667eea; background: #f0f4ff; }
    .plan-card h3 { color: #667eea; margin-bottom: 0.5rem; }
    .hidden { display: none; }
    .status-box { background: #f0f4ff; padding: 1rem; border-radius: 5px; margin-bottom: 1rem; }
    .status-box p { margin: 0.5rem 0; }
    .alert { padding: 1rem; border-radius: 5px; margin-bottom: 1rem; }
    .alert-success { background: #d4edda; color: #155724; }
    .alert-error { background: #f8d7da; color: #721c24; }
    .toggle-link { text-align: center; margin-top: 1rem; color: #667eea; cursor: pointer; }
    #card-element { padding: 0.75rem; border: 2px solid #ddd; border-radius: 5px; background: white; }
    .card-errors { color: #721c24; margin-top: 0.5rem; font-size: 0.9rem; }
    .spinner { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255,255,255,.3); border-radius: 50%; border-top-color: white; animation: spin 1s ease-in-out infinite; }
    @keyframes spin { to { transform: rotate(360deg); } }