﻿/**
 * LESS Variables for Mandant-Specific Styling
 * Based on Figma Design: DeB (Node 5360-27936)
 * Pixelgenaue 1:1 Umsetzung - 002_DeB_ScoringTool_Eingabe_002
 * 
 * FONTS: Die Schriftarten werden �ber /Fonts/fonts.css eingebunden (lokal)
 */
/**
 * Login Page Styles - Pixelgenaue 1:1 Umsetzung aus Figma
 * DeB Design System (Node 5340-12714: 001_DeB_ScoringTool_Startseite_001)
 * 
 * Layout-Struktur aus Figma:
 * - Desktop: 1920x1100 Frame
 * - Content: 1540px Container mit 50px padding
 * - Left Column: 957px (Hero Text + Form)
 * - Right Column: 423px (Info Box)
 * - Gap: 60px zwischen Spalten
 * - Hintergrund: Weißer Body mit großer Gradient-Grafik (Rectangle 340 + bgr_bunt)
 * 
 * HINWEIS: Container-Klassen wie .centered-content, .bg-gradient-main, .main-left-column 
 * sind in Layout.less definiert und werden hier wiederverwendet.
 */
body.login-page {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5556;
  color: #282D2D;
  background-color: transparent;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.page-background {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: -2;
  pointer-events: none;
  overflow: hidden;
}
.page-background::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  min-width: 100vw;
  min-height: 100vh;
  background-image: url('/Styles/Images/bgr_bunt.png');
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat;
  z-index: -2;
  opacity: 1;
}
main {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding: 0;
}
.login-content {
  max-width: 1540px;
  width: 100%;
  display: flex;
  gap: 60px;
  padding: 0 50px;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
.login-bg-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 360px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #007878 0%, #143C64 100%);
  background-repeat: no-repeat;
  background-size: 100vw 540px;
}
.login-content-single {
  max-width: 957px;
  justify-content: center;
}
.login-left-column {
  width: 957px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 1;
  background: none;
}
.login-hero-title {
  width: 100%;
  padding: 20px 0 15px;
  border-bottom: 2px solid #007878;
  background: none;
}
.login-hero-title h1 {
  font-family: 'Roboto Slab', 'Roboto', Georgia, serif;
  font-weight: 700;
  font-size: 42px;
  line-height: 1.1905;
  color: #FFFFFF;
  margin: 0;
  text-shadow: 0 2px 8px rgba(20, 60, 100, 0.18);
}
.login-hero-text {
  width: 100%;
  padding: 25px 0 30px;
}
.login-hero-text p {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5556;
  color: #FFFFFF;
  margin: 0;
  max-width: 641px;
}
.login-form-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.login-form-container {
  width: 100%;
  background-color: #E6EBEB;
  border-radius: 0;
  padding: 10px 50px;
}
.login-form-container form {
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.login-input-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.login-input-group label {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5556;
  color: #282D2D;
}
.login-input-group .input-field {
  width: 100%;
  max-width: 388px;
  border: 2px solid #007878;
  border-radius: 20px;
  padding: 10px 15px;
  background-color: #FFFFFF;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.login-input-group .input-field:hover {
  border-color: #006666;
}
.login-input-group .input-field:focus-within {
  border-color: #007878;
  box-shadow: 0 0 0 3px rgba(0, 120, 120, 0.1);
}
.login-input-group .input-field input {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5556;
  color: #282D2D;
  padding: 0;
}
.login-input-group .input-field input::placeholder {
  color: #6C757D;
  font-weight: 400;
}
.login-checkbox-section {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  gap: 0;
}
.checkbox-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: none;
}
.checkbox-item.checkbox-item-first {
  border-bottom: 2px solid #C2D8D8;
}
.checkbox-item:not(.checkbox-item-first) {
  border-bottom: none;
}
.checkbox-item:last-child {
  margin-bottom: 0;
}
.login-button-section {
  border-bottom: 5px solid #E67300;
  border-radius: 0 0 20px 20px;
  padding: 25px 50px 40px;
}
.button-group {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
}
.btn-info-deb {
  background-color: #007878;
  color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.btn-info-deb:hover {
  background-color: #006666;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: #FFFFFF;
}
.btn-info-deb:active {
  background-color: #005555;
}
.login-right-column {
  width: 423px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  padding-top: 40px;
}
.login-info-box {
  width: 100%;
  min-height: 418px;
  background: linear-gradient(90deg, #007878 0%, #143C64 100%);
  border-radius: 0;
  padding: 50px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.info-box-header {
  display: flex;
  align-items: center;
  gap: 20px;
}
.info-box-icon {
  width: 90px;
  height: 90px;
  flex-shrink: 0;
}
.info-box-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.info-box-title {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.4167;
  color: #FFFFFF;
  margin: 0;
}
.info-box-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.info-box-content p {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5556;
  color: #FFFFFF;
  margin: 0;
}
.info-box-button {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  .page-background {
    width: 100%;
    height: 300px;
  }
  .page-background::after {
    background-size: cover;
  }
  .login-content {
    flex-direction: column;
    gap: 30px;
  }
  .login-left-column,
  .login-right-column {
    width: 100%;
  }
  .login-info-box {
    height: auto;
  }
  .login-left-column {
    background: linear-gradient(90deg, #E6EBEB 0%, #F5F7F7 80%, #FFFFFF 100%);
    background-position: -100px 0;
    background-size: 1200px 100%;
  }
}
@media (max-width: 768px) {
  .page-background {
    top: 80px;
    height: 250px;
  }
  .login-content {
    padding: 0 20px;
  }
  .login-hero-title h1 {
    font-size: 32px;
  }
  .login-hero-text {
    padding: 20px 0 25px;
  }
  .login-hero-text p {
    font-size: 16px;
    max-width: 100%;
  }
  .login-form-container {
    padding: 10px 25px;
  }
  .login-form-container form {
    width: 100%;
  }
  .login-input-group .input-field {
    max-width: 100%;
  }
  .login-button-section {
    padding: 20px 25px 25px;
  }
  .button-group {
    flex-direction: column;
    width: 100%;
  }
  .button-group .btn-deb {
    width: 100%;
  }
  .login-info-box {
    padding: 30px 25px;
  }
}
@media (max-width: 576px) {
  .page-background {
    height: 200px;
  }
  .login-hero-title h1 {
    font-size: 28px;
  }
  .login-hero-text p {
    font-size: 14px;
  }
  .checkbox-wrapper {
    width: 30px;
    height: 30px;
  }
  .checkbox-wrapper input[type="checkbox"] {
    width: 24px;
    height: 24px;
  }
  .checkbox-label label {
    font-size: 16px;
  }
  .info-box-icon {
    width: 60px;
    height: 60px;
  }
  .info-box-title {
    font-size: 20px;
  }
}