:root { --color-white: #FFFFFF; --color-light-green: #2FAC66; --color-green: #005655c2; --color-red: #a75151; --text-color: #333333; --error-background: #f3c3c3; } * { padding: 0; margin: 0; box-sizing: border-box; font-family: "Open Sans", Helvetica, sans-serif; accent-color: var(--color-green); } body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: var(--color-white); padding: 20px; } .login-container { display: flex; width: 100%; max-width: 1200px; height: calc(100vh - 40px); background-color: var(--color-white); border-radius: 16px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); overflow: hidden; } .login-form { width: 45%; padding: 40px; display: flex; flex-direction: column; justify-content: center; position: relative; } .logo { position: absolute; top: 20px; left: 20px; background-image: url(/assets/images/TSS-logo3.png); background-repeat: no-repeat; opacity: inherit; width: 85px; height: 120px; margin: 0 auto; -webkit-filter: drop-shadow(5px 5px 5px #222); filter: drop-shadow(5px 5px 5px #222); } .login-visual { width: 55%; position: relative; overflow: hidden; background-image: url(/assets/images/emergencyplug-auto-in-licht.jpg); background-position: center center; background-size: 100% 100%; background-repeat: no-repeat; } .login-visual img { width: 100%; height: 100%; object-fit: cover; } .register-link { position: absolute; top: 20px; right: 20px; text-decoration: none; color: var(--text-color); } .header { margin-bottom: 30px; } .header h1 { font-size: 24px; margin-bottom: 10px; } .header p { color: #666; } .input-group { margin-bottom: 15px; position: relative; } .input-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; } .input-group input[type="email"] { padding-left: 40px; background: url('data:image/svg+xml;utf8,') no-repeat left 10px center; } .input-group input[type="password"] { padding-left: 40px; background: url('data:image/svg+xml;utf8,') no-repeat left 10px center; } .forgot-password { color: var(--text-color); text-decoration: none; text-align: right; margin-top: 5px; float: right; font-size: 12px; } .remember-me { display: flex; align-items: center; margin-bottom: 20px; } .remember-me input { margin-right: 10px; } .maintenance { padding: 5px; } .message p { margin-top: 5px; background-color: var(--error-background); border-left: 4px solid var(--color-red); color: var(--color-red); padding: 5px; border-radius: 4px; text-align: center; } .login-btn { width: 100%; padding: 12px; background-color: var(--color-light-green); color: var(--color-white); border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } .login-btn:hover { background-color: var(--color-green); } .trademark { position: absolute; bottom: 20px; left: 20px; color: var(--text-color); font-size: 12px; } .language-selector { position: absolute; bottom: 20px; right: 20px; display: flex; align-items: center; color: var(--text-color); } .language-selector select { margin-left: 10px; border: none; background: transparent; } /* Responsive Design */ @media screen and (max-width: 1024px) { .login-container { flex-direction: column; height: auto; max-width: 1000px; } .login-form, .login-visual { width: 100%; height: auto; } .login-visual { height: 300px; } .logo { position: static; margin: 20px auto; margin-bottom: 0; } .trademark, .language-selector { position: static; text-align: center; margin: 20px 0; } } @media screen and (max-width: 480px) { .login-form { padding: 20px; } .header h1 { font-size: 20px; } }