/* Bildungsserver – Farben aus dem Logo */
:root { --bs-grau: #3c3c3b; --bs-gelb: #f8b133; --bs-rot: #e5332a; --bs-braun: #b9975b; }

/* Buttons */
.btn-primary, .button.mainaction, .formbuttons .btn-primary,
#login-form button.mainaction {
  background-color: var(--bs-rot) !important;
  border-color: var(--bs-rot) !important;
}
.btn-primary:hover, .button.mainaction:hover { filter: brightness(0.92); }

/* Links und Auswahl */
a, .listing li.selected > a, .menu a.selected { color: var(--bs-rot); }

/* Linke Menüleiste */
#layout-menu { background-color: var(--bs-grau); }
#layout-menu a { color: #ffffff; }
#layout-menu a.selected, #layout-menu a:hover { color: var(--bs-gelb) !important; }
#layout-menu #logo { max-height: 3.5rem; width: auto; padding: .5rem 0; }

/* Anmeldeseite */
#login-form #logo { width: 280px; max-width: 90%; height: auto; max-height: none; margin-bottom: 1.5rem; }
#login-form .formcontent { border-top: 4px solid var(--bs-gelb); }
#login-footer { color: #6b6b6a; }

/* Über-Dialog: Roundcube-Version und Plugin-Liste ausblenden */
.frame-content > h2.sysname, .frame-content > .readtext { display: none; }
.frame-content > .copyright, .frame-content > .license { font-size: .8rem; opacity: .7; }
.bs-about { margin-bottom: 1.5rem; }
.bs-about img.bs-about-logo { width: 240px; max-width: 80%; height: auto; margin: .5rem 0 1rem; }
.bs-about h3 { margin: 1.25rem 0 .4rem; padding-bottom: .25rem; border-bottom: 2px solid var(--bs-gelb); font-size: 1.05rem; }
.bs-about table { border-collapse: collapse; }
.bs-about td { padding: .15rem 1.25rem .15rem 0; vertical-align: top; }
.bs-about td:first-child { font-weight: bold; white-space: nowrap; }

/* Hilfe-Button: Rettungsring-Symbol */
#taskmenu a.bssupport:before { content: "\f1cd"; font-family: 'Icons'; font-weight: 900; }

/* Hilfeformular */
.bs-support { overflow-y: auto; background: #f4f5f6; }
html.dark-mode .bs-support { background: transparent; }
.bs-wrap { max-width: 860px; margin: 0 auto; padding: 2.5rem 1.5rem 3rem; }
.bs-card { background: #fff; border-radius: .5rem; border-top: 4px solid var(--bs-gelb);
  box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 6px 24px rgba(0,0,0,.06); padding: 2rem 2.25rem 1.5rem; }
html.dark-mode .bs-card { background: #2a3337; box-shadow: none; }
.bs-head { display: flex; gap: 1.25rem; align-items: flex-start; margin-bottom: 1.75rem; }
.bs-head .bs-mark { width: 44px; height: auto; flex: 0 0 auto; margin-top: .2rem; }
.bs-head h2 { margin: 0 0 .35rem; font-size: 1.5rem; font-weight: 600; }
.bs-head p { margin: 0; opacity: .8; line-height: 1.5; }
.bs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.5rem; }
.bs-field { display: flex; flex-direction: column; min-width: 0; }
.bs-field.bs-full { grid-column: 1 / -1; }
.bs-field label { font-weight: 600; font-size: .85rem; margin-bottom: .35rem; }
.bs-field .form-control { width: 100%; }
.bs-field textarea.form-control { min-height: 10rem; resize: vertical; }
.bs-hint { font-size: .78rem; opacity: .65; margin-top: .3rem; }
.bs-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  flex-wrap: wrap; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(128,128,128,.2); }
.bs-check { display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: normal; cursor: pointer; }
.bs-check input { width: 1.05rem; height: 1.05rem; accent-color: var(--bs-rot); }
.bs-consent { margin: 1.5rem 0 0; padding: 1rem 1.25rem; border: 1px solid rgba(128,128,128,.3);
  border-left: 4px solid var(--bs-gelb); border-radius: .35rem; background: rgba(248,177,51,.06); }
.bs-consent legend { float: left; width: 100%; font-weight: 600; font-size: .95rem; margin: 0 0 .35rem; padding: 0; }
.bs-consent p { clear: both; margin: 0 0 .75rem; line-height: 1.45; }
.bs-req { color: var(--bs-rot); }
.bs-choices { display: flex; flex-direction: column; gap: .5rem; }
.bs-choice { display: flex; align-items: flex-start; gap: .55rem; margin: 0; font-weight: normal; cursor: pointer; }
.bs-choice input { width: 1.05rem; height: 1.05rem; margin-top: .15rem; flex: 0 0 auto; accent-color: var(--bs-rot); }
.bs-choice input:checked + span { font-weight: 600; }
.bs-consent .bs-hint { display: block; margin-top: .65rem; }
.bs-submit { padding: .55rem 1.6rem; font-weight: 600; }
.bs-privacy { font-size: .75rem; opacity: .6; margin: 1.25rem 0 0; line-height: 1.45; }
.bs-direct { text-align: center; font-size: .85rem; opacity: .75; margin-top: 1.25rem; }
.bs-notice { padding: .8rem 1rem; border-radius: .35rem; margin-bottom: 1.5rem; border-left: 4px solid; }
.bs-ok  { background: #eaf6ec; border-color: #2e8540; color: #1e5a2b; }
.bs-err { background: #fdecea; border-color: var(--bs-rot); color: #8a1f17; }
html.dark-mode .bs-ok  { background: #1f3326; color: #bfe5c7; }
html.dark-mode .bs-err { background: #3a2220; color: #f5c6c2; }
@media (max-width: 700px) {
  .bs-wrap { padding: 1rem .75rem 2rem; }
  .bs-card { padding: 1.25rem 1rem; }
  .bs-grid { grid-template-columns: 1fr; }
  .bs-actions { flex-direction: column; align-items: stretch; }
}

/* Admin-Ansicht (Master-Login) */
.bs-master-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000; background: #c62828; color: #fff;
  text-align: center; padding: .35rem 1rem; font-size: .9rem; box-shadow: 0 -2px 6px rgba(0,0,0,.25); }
body:has(.bs-master-banner) #layout { height: calc(100% - 2rem); }
