.skb-layout{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:start;}
@media (max-width:820px){.skb-layout{grid-template-columns:1fr;}}
.skb-sidebar{font-family:var(--font-body,"Figtree",sans-serif);}
.skb-sidebar .modlist,.skb-sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;}
.skb-sidebar a{display:block;padding:.4rem .7rem;border-radius:.4rem;color:var(--navy-900,#1a3a5c);text-decoration:none;font-weight:600;}
.skb-sidebar a:hover{background:rgba(0,0,0,.05);}
.skb-content ul{padding-left:1.2rem;}
.skb-content .pagination{list-style:none;display:flex;gap:.4rem;padding:0;margin:1.5rem 0;flex-wrap:wrap;}
.skb-content .pagination .page-link,.skb-content .pagination a{padding:.3rem .7rem;border:1px solid #ddd;border-radius:.4rem;text-decoration:none;color:var(--navy-900,#1a3a5c);}
.skb-content .pagination .active .page-link{background:var(--brass,#c8860a);color:#fff;border-color:var(--brass,#c8860a);}
.skb-content .counter{color:#777;font-size:.9rem;margin:1rem 0;}
.site-header{background:var(--navy-900,#1a3a5c) !important;}
.skb-back-link{margin:0 0 1.2rem;}
.skb-back-link a{color:var(--brass,#c8860a);font-weight:600;text-decoration:none;}
.skb-back-link a:hover{text-decoration:underline;}
@media (max-width: 820px) {
  .skb-sidebar ul {
    flex-direction: row;
    overflow-x: auto;
    gap: .5rem;
    padding-bottom: .4rem;
    -webkit-overflow-scrolling: touch;
  }
  .skb-sidebar a {
    white-space: nowrap;
    padding: .4rem .9rem;
    border: 1px solid #ddd;
    border-radius: 999px;
    font-size: 0.85rem;
  }
}

/* ===== Mitgliederbereich / Login-Formular ===== */
.skb-content--solo { padding: 1rem 0 3rem; }

#system-message-container:not(:empty) { max-width: 440px; margin: 0 auto 1.2rem; }

.com-users-login {
  max-width: 440px;
  margin: 2rem auto 3rem;
  background: #ffffff;
  border: 1px solid rgba(20, 36, 61, 0.12);
  border-radius: 10px;
  padding: 2.2rem 2rem;
  box-shadow: 0 1px 2px rgba(10, 30, 63, 0.05), 0 6px 16px -8px rgba(10, 30, 63, 0.14);
  font-family: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.com-users-login .control-group { margin-bottom: 1.1rem; }
.com-users-login .control-label label {
  display: block;
  font-family: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #57687f;
  margin-bottom: 0.4rem;
}
.com-users-login .control-label .star { color: #c6a15b; }

.com-users-login input.form-control {
  width: 100%;
  font: inherit;
  font-size: 1rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(20, 36, 61, 0.22);
  border-radius: 4px;
  background: #ffffff;
  color: #14243d;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.com-users-login input.form-control:focus {
  outline: none;
  border-color: #c6a15b;
  box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.18);
}

.com-users-login .password-group .input-group { position: relative; display: flex; }
.com-users-login .password-group input.form-control { padding-right: 6.5rem; }
.com-users-login .input-password-toggle {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  padding: 0.3rem 0.5rem;
  background: none;
  border: none;
  color: #57687f;
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}
.com-users-login .input-password-toggle:hover { color: #14243d; background: none; transform: translateY(-50%); }
.com-users-login .input-password-toggle .icon-eye { display: none; }

.com-users-login .com-users-login__remember { margin-bottom: 1.3rem; }
.com-users-login .form-check { display: flex; align-items: center; gap: 0.55rem; }
.com-users-login .form-check-input { width: 1.05rem; height: 1.05rem; accent-color: #c6a15b; }
.com-users-login .form-check-label { color: #14243d; font-size: 0.95rem; }

.com-users-login .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  font-family: "Figtree", sans-serif;
  font-weight: 600;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.com-users-login .btn:hover { transform: translateY(-2px); }
.com-users-login .btn svg { width: 1.1rem; height: 1.1rem; fill: currentColor; }
.com-users-login__submit { margin-bottom: 0.8rem; }
.com-users-login__submit .btn { width: 100%; padding: 0.85rem 1.6rem; }
.com-users-login .btn-primary { background: #c6a15b; color: #0a1e3f; box-shadow: 0 10px 26px -12px rgba(198, 161, 91, 0.9); }
.com-users-login .btn-primary:hover { background: #dcbd7e; }
.com-users-login .btn-secondary { background: #ffffff; border: 1px solid rgba(20, 36, 61, 0.22); color: #14243d; }
.com-users-login__submit .btn-secondary:hover { border-color: #0a1e3f; background: #0a1e3f; color: #ffffff; transform: translateY(-2px); }

.com-users-login__options {
  max-width: 440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.com-users-login__options .list-group-item {
  color: #c6a15b;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}
.com-users-login__options .list-group-item:hover { text-decoration: underline; }

.com-users-login .page-header {
  max-width: 440px;
  margin: 0 auto 1.5rem;
  text-align: center;
}
.com-users-login .page-header h1 {
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  color: #0a1e3f;
  margin: 0;
}
.com-users-login__description {
  max-width: 440px;
  margin: 0 auto 1.5rem;
  text-align: center;
  color: #57687f;
}

/* ===== Mobile Overflow-Fix für migrierte Logbuch-Inhalte ===== */
html, body { overflow-x: hidden; }
.skb-content, .skb-layout { max-width: 100%; }
.skb-content img, .skb-content video, .skb-content iframe, .skb-content embed, .skb-content object {
  max-width: 100%;
  height: auto;
}
.skb-content table { max-width: 100%; display: block; overflow-x: auto; }
.skb-content, .skb-content * { word-wrap: break-word; overflow-wrap: break-word; }

/* ===== Härterer Mobile-Fix: erzwingt Zeilenumbruch in Alt-Content ===== */
.skb-content, .skb-content * {
  max-width: 100% !important;
  white-space: normal !important;
  box-sizing: border-box;
}
.skb-content pre, .skb-content code {
  white-space: pre-wrap !important;
  word-break: break-word;
}
