/* ==========================================================
   Intern-Bereich – Login & geschützte Dokumentliste
   ========================================================== */

.intern {
  max-width: 48rem;
  margin: 3rem auto 5rem;
}

.intern-kopf { margin-bottom: 2rem; }
.intern-kicker {
  display: inline-block;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-brand-1);
  font-weight: 700;
  margin-bottom: .5rem;
}
.intern-lead {
  font-size: 1.15rem;
  color: var(--color-brand-2);
  margin-top: .5rem;
}

/* ---------- Intern-Navigation (zwischen den geschützten Seiten) ---------- */
.intern-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.5rem;
}
.intern-nav a {
  padding: .4rem 1rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: .9rem;
  color: var(--color-brand-2);
  background: var(--color-soft);
}
.intern-nav a[aria-current="page"] {
  background: var(--color-brand-1);
  color: #fff;
}

/* ---------- Login ---------- */
.intern-login {
  background: var(--color-soft);
  border-radius: 14px;
  padding: 2rem 2.25rem;
  max-width: 26rem;
}
.intern-login h2 { margin-top: 0; }

/* Fehlermeldung – deutlich sichtbar in CSTN-Rot */
.intern-login .form-error {
  background: color-mix(in srgb, var(--color-brand-1) 8%, #fff);
  border: 1px solid var(--color-brand-1);
  border-left: 4px solid var(--color-brand-1);
  border-radius: 8px;
  padding: .7rem .9rem;
  margin: 1rem 0 0;
}
.intern-login .form-error p {
  margin: 0;
  color: var(--color-brand-1);
  font-weight: 600;
}
.intern-login label {
  display: block;
  font-weight: 600;
  color: var(--color-brand-2);
  margin: 1.25rem 0 1.5rem;
}
.intern-login input[type="password"] {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: .4rem;
  padding: .7rem .9rem;
  font-size: 1rem;
  border: 1px solid #cfc9c0;
  border-radius: 8px;
}
.intern-login input[type="password"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-brand-1) 40%, #fff);
  outline-offset: 1px;
  border-color: var(--color-brand-1);
}

/* ---------- Leiste (angemeldet) ---------- */
.intern-leiste {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid var(--color-soft);
}
.intern-status { font-weight: 600; color: var(--color-brand-2); }
.intern-logout { padding: .5rem 1.2rem; font-size: .9rem; }

/* ---------- Dokumentliste ---------- */
.intern-liste { list-style: none; padding: 0; margin: 0; }
.intern-datei {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid #e7e3dc;
}
.intern-datei-text { display: flex; flex-direction: column; gap: .15rem; flex: 1 1 auto; min-width: 0; }
.intern-datei-name { font-weight: 600; color: var(--color-brand-2); font-size: 1.05rem; }
.intern-datei-desc { color: var(--color-text); }
.intern-datei-meta { font-size: .82rem; color: #8a857c; letter-spacing: .02em; }
.intern-download { padding: .6rem 1.4rem; font-size: .92rem; white-space: nowrap; flex: 0 0 auto; }

.intern-leer { color: #8a857c; }

@media (max-width: 34rem) {
  .intern-datei { flex-wrap: wrap; align-items: flex-start; }
  .intern-datei-text { flex-basis: 100%; }
  .intern-download { align-self: stretch; text-align: center; }
}
