
/* ===========================
   Global / Modern Defaults
   =========================== */
:root {
  color-scheme: light dark;
}

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  background: #e5e5e5; /* angepasst */
}

header, main, footer {
  max-width: 960px;
  margin: 0 auto;
}

nav a {
  margin-right: .75rem;
}

/* Karten / Boxen */
.card {
  border: 1px solid rgba(0,0,0,.1);
  border-radius: .5rem;
  padding: 1rem;
  margin: 1rem 0;
}

/* Rollenliste */
.roles-list {
  list-style: none;
  padding-left: 0;
  margin: .5rem 0 0 0;
}
.roles-list li {
  padding: .25rem .5rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .375rem;
  display: inline-block;
  margin: .25rem .25rem .25rem 0;
}

/* Hinweise / Alerts */
.alert {
  border-left: .4rem solid #c33;
  background: rgba(200,0,0,.08);
  padding: .75rem 1rem;
  border-radius: .5rem;
  margin: 1rem 0;
}

/* Muted Text */
.muted {
  color: #666;
  font-size: .95rem;
}

/* Gemeinsamer Look für beide */
.home {
  display: inline-block;
  padding: .5rem .9rem;
  background: #4A6FA5;
  color: #fff;
  border: 1px solid #1e90ff;
  border-radius: .375rem;
  text-decoration: none;    /* Link-Unterstreichung entfernen */
  font: inherit;            /* Schrift vereinheitlichen */
  cursor: pointer;
}
.home:hover { background: #1877d1; border-color: #1877d1; }
.home:focus { outline: 2px solid #004a99; outline-offset: 2px; }

/* ===========================
   Login-spezifisch
   =========================== */
.container {
  max-width: 900px; /* angepasst */
  margin: 40px auto;
  background: #fff;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 0 12px rgba(0,0,0,.15);
}

label {
  display: block;
  margin: .5rem 0 .25rem;
}

input[type="text"],
input[type="password"] {
  width: 100%;
  padding: .5rem;
  border-radius: .375rem;
  border: 1px solid rgba(0,0,0,.2);
}

button {
  margin-top: .75rem;
  padding: .5rem 1rem;
  border-radius: .375rem;
}

button.select {
	padding: 7px 10px; border: 1px solid #3a496a; border-radius: 4px;
	background: #3f5aa6; color: #fff; cursor: pointer; font-weight: 600;
	}

/* Spezifisches Zurücksetzen des Button-UA-Styles (optional) */
button.home {
  background: #4A6FA5;
  border: 1px solid #1e90ff;
  /* Je nach Browser evtl. appearance entfernen */
  -webkit-appearance: none;
  appearance: none;
}

/* ===========================
   Modernisierte Legacy-Komponenten
   =========================== */
.main_page {
  max-width: 960px;
  margin: 0 auto;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  padding: 1.5rem;
  border-radius: .5rem;
}

.page_header {
  background: #f5f6f7;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.page_header img {
  height: 60px;
}
.page_header span {
  font-size: 1.5rem;
  font-weight: bold;
}

.section_header {
  background: #4A6FA5;
  color: #fff;
  font-weight: bold;
  padding: .75rem 1rem;
  font-size: 1.25rem;
  margin-top: 1.5rem;
  border-radius: .375rem;
}

.content_section {
  padding: 1rem;
}

.nav_links a {
  display: block;
  background: #4A6FA5;
  color: #fff;
  padding: .75rem 1rem;
  margin: .5rem 0;
  border-radius: .375rem;
  text-decoration: none;
  max-width: 300px;
}

/* Optimierung der Navigationslinks via Copilot */

.nav_center {
    display: flex;
    flex-direction: column;
    align-items: center;    /* zentriert alles */
    gap: 0.2rem;
    padding: 1rem;
}

.nav_button {
    display: block;
    background: #4A6FA5;
    color: #fff;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    text-decoration: none;
    text-align: center;
    /* width: 100%; */
    width: 300px;
    max-width: 300px;
    border: 1px solid #4A6FA5;
    font: inherit;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
    transition: background .2s ease, border-color .2s ease, transform .05s;
}

.nav_button:hover {
    background: #3E5F8D;
    /* border-color: #3E5F8D; */
    border-color: #FF0000
}

.nav_button:active {
    transform: translateY(1px);
}

.nav_button:focus-visible {
    outline: 3px solid #1e90ff;
    outline-offset: 2px;
}

/* Container: vertikal gestapelt, mittig ausgerichtet */
.nav-site {
  padding: 1rem;
}

.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;   /* untereinander */
  align-items: center;      /* horizontal zentriert */
  gap: .6rem;               /* Abstand zwischen Einträgen */
}

/* Einträge optional begrenzen */
.nav-item {
  width: 100%;
  max-width: 320px;         /* Breite der „Buttons“ */
}

/* Links im Button-Look */
.nav-link {
  display: block;
  background: #4A6FA5;      /* Primärfarbe */
  color: #fff;
  padding: .75rem 1rem;
  border-radius: .375rem;
  text-decoration: none;
  text-align: center;
  border: 1px solid #4A6FA5;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
  transition: background .15s ease, border-color .15s ease, transform .02s ease;
  font: inherit;            /* übernimmt Schrift der Seite */
}

/* Hover/Active/Focus States */
.nav-link:hover {
  background: #3E5F8D;
  /* border-color: #3E5F8D; */
  border-color: #CD0000;
}

.nav-link:active {
  transform: translateY(1px);
}

.nav-link:focus-visible {
  outline: 3px solid #1e90ff;
  outline-offset: 2px;
}

/* Optional: unterschiedliche Stile für externe Links (Icon bleibt aber textlich) */
.nav-link[target="_blank"]::after {
  content: " ↗";            /* Kennzeichnung für neues Tab (optional) */
  font-size: .95em;
  opacity: .9;
}

/* Responsive Feinschliff */
@media (min-width: 600px) {
  .nav-list {
    gap: .7rem;
  }
  .nav-item { max-width: 360px; }
}
/* Optimierung der Navigationslinks via Copilot */

.welcome_box {
  background: #f5f6f7;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border-left: .4rem solid #4A6FA5;
  border-radius: .375rem;
}

.exit_button {
  float: right;
  padding: .5rem 1rem;
  background: #B23333;
  color: #fff;
  border-radius: .375rem;
  text-decoration: none;
  font-weight: bold;
}
.exit_button:hover {
  background: #d14a4a;
}

.input_box,
.button {
  width: 100%;
  max-width: 300px;
  font-size: 1rem;
}
.button {
  padding: .75rem 1rem;
  background: #4A6FA5;
  color: #fff;
  border: none;
  border-radius: .375rem;
  cursor: pointer;
  margin-top: .75rem;
}
.button:hover {
  background: #6d88b7;
}

/* Zusätzliche Buttons */
.buttonb,
.buttonc {
  display: inline-block;
  padding: 8px 15px;
  background: #4A6FA5;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  margin-top: 10px;
}
.buttonb:hover,
.buttonc:hover {
  background: #6d88b7;
}


p a.button {
  display: block;
  margin-bottom: 10px;
}

.btn {
   display: inline-block;
   padding: 10px 15px;
   background: #0078d4;
   color: #fff;
   text-decoration: none;
   border-radius: 5px;
   font-weight: bold;
}
.btn:hover { 
   background: #005a9e;
}

.alert { 
   border-left: .4rem solid #c33; 
   background: rgba(200,0,0,.08); 
   padding: 1rem; 
   border-radius: .5rem; 
   margin-bottom: 1rem;
   }

/* ===========================
   Dark Mode
   =========================== */
@media (prefers-color-scheme: dark) {
  .card { border-color: rgba(255,255,255,.15); }
  .roles-list li { border-color: rgba(255,255,255,.12); }
  .alert { background: rgba(200,0,0,.15); }
  .muted { color: #aaa; }

  input[type="text"],
  input[type="password"] {
    border-color: rgba(255,255,255,.25);
  }
}
