.legal-footer{
  margin-top:24px;
  padding:18px 16px;
  text-align:center;
  font-size:.9rem;
  color:#5f6368;
  border-top:1px solid #e2e6e9;
  background:#fafafa
}
.legal-footer a{color:inherit;text-decoration:underline}
.legal-page{
  max-width:900px;
  margin:32px auto;
  padding:0 20px 40px;
  line-height:1.6
}
.legal-page h1{margin-bottom:24px}
.legal-page h2{margin-top:30px}
.legal-page .backlink{display:inline-block;margin-bottom:18px}
.privacy-note{
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #d8dee4;
  border-radius:8px;
  background:#f8fafb
}
.login-privacy{
  font-size:.88rem;
  line-height:1.45;
  margin-top:14px;
  color:#5f6368
}


/* V1.3.1: Login wieder mittig */
body.login-page{
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
}
body.login-page .login-card{
  width:min(420px, calc(100% - 32px));
  margin:auto;
}
body.login-page .legal-footer{
  margin-top:0;
}


/* V1.4 */
#modeStatus{font-size:.92rem}
.feature-item small{opacity:.72;margin-top:2px}


/* V1.5 Registrierung / Benutzerverwaltung */
.register-box{
  margin-top:18px;
  text-align:center;
}
.button-link{
  display:inline-block;
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  background:#222;
  color:#fff;
}
.button-link.secondary{
  margin-left:6px;
}
.admin-shortcut{
  position:fixed;
  right:14px;
  top:14px;
  z-index:1000;
  background:rgba(255,255,255,.94);
  padding:8px 10px;
  border-radius:8px;
  box-shadow:0 1px 8px rgba(0,0,0,.15);
}
.admin-shortcut a{text-decoration:none}
.table-wrap{overflow-x:auto}
.admin-users table{
  width:100%;
  border-collapse:collapse;
}
.admin-users th,
.admin-users td{
  padding:10px;
  border-bottom:1px solid #ddd;
  text-align:left;
  vertical-align:top;
}
.admin-users form{margin:0}


/* V1.5.2 – sauberes Login-/Registrierungs-Layout */
body.login-page{
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
  background:#f4f6f8;
}

.login-card{
  width:min(430px, calc(100% - 32px));
  margin:auto;
  box-sizing:border-box;
  background:#fff;
  border-radius:14px;
  padding:28px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.login-card h1{
  margin:0 0 8px;
  text-align:center;
}

.login-card h2{
  margin:0 0 22px;
  text-align:center;
  font-size:1.25rem;
}

.login-card form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.login-card label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:600;
}

.login-card input{
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #c9ced6;
  border-radius:8px;
  font:inherit;
  background:#fff;
}

.login-card input:focus{
  outline:none;
  border-color:#555;
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}

.login-card button,
.login-card .button-link{
  width:100%;
  box-sizing:border-box;
  text-align:center;
  border:0;
  border-radius:8px;
  padding:11px 14px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.login-card button{
  background:#222;
  color:#fff;
}

.login-card .button-link{
  display:block;
  background:#222;
  color:#fff;
  text-decoration:none;
}

.login-card .privacy-note{
  margin-top:18px;
  font-size:.9rem;
  line-height:1.45;
  color:#555;
}

.login-card p:last-child{
  text-align:center;
  margin-bottom:0;
}

.login-card .status-ok,
.login-card .status-error{
  margin-bottom:16px;
}

.login-page .legal-footer{
  margin-top:0;
}


/* V1.6 Benutzerverwaltung */
.user-card{
  background:#fff;
  border:1px solid #d9dde3;
  border-radius:12px;
  padding:18px;
  margin:0 0 18px;
  box-shadow:0 3px 12px rgba(0,0,0,.05);
}
.user-card-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.user-meta{
  display:block;
  margin-top:4px;
  font-size:.9rem;
  color:#666;
}
.user-created{
  font-size:.85rem;
  color:#777;
  white-space:nowrap;
}
.user-edit-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.3fr auto;
  gap:12px;
  align-items:end;
}
.user-edit-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-weight:600;
}
.user-edit-grid input,
.password-form input{
  box-sizing:border-box;
  width:100%;
  padding:9px 10px;
  border:1px solid #c9ced6;
  border-radius:7px;
  font:inherit;
}
.user-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  align-items:center;
}
.user-actions form{
  margin:0;
}
.password-form{
  display:flex;
  gap:8px;
  flex:1 1 360px;
}
.user-actions button,
.user-edit-grid button{
  padding:9px 12px;
  border:0;
  border-radius:7px;
  cursor:pointer;
  font-weight:700;
}
.danger-btn{
  background:#b42318;
  color:#fff;
}
@media (max-width:900px){
  .user-edit-grid{
    grid-template-columns:1fr;
  }
  .user-card-head{
    flex-direction:column;
  }
  .password-form{
    flex-direction:column;
    flex-basis:100%;
  }
}

.account-help{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:.92rem}
.unlock-panel{background:#fff8df;border:1px solid #e7cf7a;border-radius:12px;padding:16px;margin:0 0 20px}
.unlock-panel h2{margin-top:0}.unlock-request{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eadba6}
.unlock-request span{display:block;margin-top:3px;color:#666;font-size:.9rem}
@media(max-width:600px){.account-help,.unlock-request{flex-direction:column;align-items:stretch}}


/* V1.7.6 – TSO-Logo unter dem Login */
:root{
  --login-logo-size: 180px;
}

.login-logo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:18px auto 24px;
}

.login-logo{
  display:block;
  width:var(--login-logo-size);
  max-width:80vw;
  height:auto;
  object-fit:contain;
}

@media(max-width:600px){
  :root{
    --login-logo-size:150px;
  }
}


/* V1.7.7 – Logo sicher zentriert und automatisch responsiv */
body.login-page .login-logo-wrap{
  display:block;
  width:100%;
  max-width:430px;
  margin:18px auto 24px auto;
  padding:0;
  text-align:center;
  box-sizing:border-box;
}

body.login-page .login-logo-wrap .login-logo{
  display:block;
  width:clamp(110px, 32vw, 200px);
  max-width:55%;
  height:auto;
  margin:0 auto;
  padding:0;
}
.login-card select,.admin-users select{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #cbd3da;border-radius:8px;background:#fff;font:inherit}
