:root{
 --gsl-green:#0d5a42;--gsl-green-dark:#123d34;--gsl-green-deep:#173b35;--gsl-mint:#eaf5ef;
 --gsl-lime:#d9f34a;--gsl-bg:#f4f6f4;--gsl-card:#fff;--gsl-line:#dfe6e2;--gsl-ink:#17251f;--gsl-muted:#6b7a73;
 --gsl-shadow:0 10px 30px rgba(21,55,44,.07);--gsl-radius:16px
}
*{box-sizing:border-box}
body.gsl-app{margin:0;background:var(--gsl-bg);color:var(--gsl-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.gsl-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}
.gsl-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#173f37,#193a35);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:20}
.gsl-brand{display:flex;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;padding:4px 8px 22px}.gsl-brand img{width:46px;height:46px}.gsl-brand b{display:block;font-size:18px;letter-spacing:-.4px}.gsl-brand small{display:block;color:#a9c1b8;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;margin-top:2px}
.gsl-nav{display:flex;flex-direction:column;gap:5px}.gsl-nav a{display:flex;align-items:center;gap:12px;color:#eaf2ef!important;text-decoration:none!important;padding:11px 12px;border-radius:10px;font-size:14px}.gsl-nav a:hover{background:rgba(255,255,255,.08)}.gsl-nav a.active{background:#28594c;color:#fff!important;box-shadow:inset 3px 0 0 #d9f34a}.gsl-nav i{width:24px;height:24px;display:grid;place-items:center;font-style:normal;font-size:19px}.gsl-nav-label{margin:17px 12px 5px;color:#789c90;font-size:9px;text-transform:uppercase;letter-spacing:1.6px}
.gsl-sidebar-claim{margin-top:auto;padding:20px 10px;color:#83a79a;text-transform:uppercase;letter-spacing:1.6px;font-size:10px}.gsl-sidebar-claim b{display:block;color:#b9cec6;font-size:11px;margin-top:5px;line-height:1.5}
.gsl-stage{min-width:0}.gsl-topbar{height:78px;position:sticky;top:0;z-index:15;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--gsl-line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.gsl-page-context span{display:block;color:var(--gsl-muted);font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.gsl-page-context b{font-size:18px}
.gsl-user-dock{display:flex;align-items:center;gap:9px}.gsl-user-photo{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e8f3ee;color:var(--gsl-green);display:grid;place-items:center;font-weight:900;text-decoration:none}.gsl-user-photo img{width:100%;height:100%;object-fit:cover}.gsl-user-name{display:flex;flex-direction:column;color:var(--gsl-ink)!important;text-decoration:none!important;line-height:1.15}.gsl-user-name b{font-size:13px}.gsl-user-name small{font-size:10px;color:var(--gsl-muted);margin-top:3px}.gsl-logout{margin-left:5px;padding-left:11px;border-left:1px solid var(--gsl-line);font-size:12px;color:var(--gsl-muted)!important;text-decoration:none!important}
.gsl-content{width:auto!important;max-width:1500px!important;margin:0 auto!important;padding:28px 30px 50px!important}
.gsl-content h1{font-size:31px;letter-spacing:-1px;color:var(--gsl-ink);margin-top:0}.gsl-content h2{letter-spacing:-.5px;color:var(--gsl-ink)}
.gsl-content .card{background:#fff;border:1px solid var(--gsl-line);border-radius:var(--gsl-radius);box-shadow:var(--gsl-shadow);padding:20px}
.gsl-content .grid{gap:15px}.gsl-content .metric{color:var(--gsl-green-deep);font-weight:800}
.gsl-content table{width:100%;border-collapse:separate;border-spacing:0}.gsl-content th{background:#f0f5f2;color:#345449;font-size:12px;text-transform:none;letter-spacing:.1px}.gsl-content th,.gsl-content td{padding:13px 14px;border-bottom:1px solid #e5ebe8}
.gsl-content input,.gsl-content select,.gsl-content textarea{border:1px solid #d5dfda;border-radius:9px;background:#fff;min-height:42px}.gsl-content input:focus,.gsl-content select:focus,.gsl-content textarea:focus{outline:2px solid rgba(13,90,66,.13);border-color:#75a995}
.gsl-content button,.gsl-content .btn{border-radius:9px;background:var(--gsl-green);border:1px solid var(--gsl-green);color:#fff;text-decoration:none;box-shadow:none}.gsl-content .btn.secondary,.gsl-content button.secondary{background:#fff;color:var(--gsl-green);border-color:#cad9d2}
.gsl-content .badge{border-radius:999px;background:#e9f2ed;color:#31574a}.gsl-content .alert{border-radius:12px}
.role-crests{display:flex;align-items:center;gap:4px}.role-crest{--crest:#64748b;width:27px;height:32px;display:grid;place-items:center;background:var(--crest);color:#fff;font-size:9px;font-weight:900;clip-path:polygon(50% 0,94% 12%,88% 73%,50% 100%,12% 73%,6% 12%)}.role-crest span{transform:translateY(-1px)}
@media(max-width:980px){.gsl-shell{grid-template-columns:78px minmax(0,1fr)}.gsl-brand span,.gsl-nav span,.gsl-nav-label,.gsl-sidebar-claim{display:none}.gsl-brand{padding-left:0;padding-right:0;justify-content:center}.gsl-brand img{width:43px}.gsl-nav a{justify-content:center;padding:11px}.gsl-user-name{display:none}}
@media(max-width:700px){.gsl-shell{display:block}.gsl-sidebar{position:relative;height:auto;padding:10px 12px}.gsl-brand{padding:2px 0 10px}.gsl-brand span{display:block}.gsl-nav{flex-direction:row;overflow:auto}.gsl-nav a{min-width:max-content}.gsl-nav span{display:inline}.gsl-nav-label,.gsl-sidebar-claim{display:none}.gsl-topbar{height:65px;padding:0 14px}.gsl-page-context span{display:none}.gsl-content{padding:18px 14px 36px!important}.gsl-logout{display:none}}

.gsl-test-banner{background:#fff3cd;border-bottom:1px solid #ead59a;color:#5f4c13;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 28px;font-size:13px}
.gsl-test-banner form{margin:0}.gsl-test-banner button{background:#725d18;border:0;color:#fff;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
@media(max-width:700px){.gsl-test-banner{padding:9px 14px;align-items:flex-start;flex-direction:column;gap:8px}}


/* 1.30i – einheitliche Formularfelder */
.gsl-content input:not([type="checkbox"]):not([type="radio"]),
.gsl-content select{
  width:100%;
  height:50px;
  min-height:50px;
  padding:0 14px;
  font:inherit;
  line-height:1.2;
  border:1px solid #d5dfda;
  border-radius:9px;
  background-color:#fff;
}
.gsl-content select{
  padding-right:42px;
  -webkit-appearance:auto;
  appearance:auto;
}
.gsl-content textarea{
  width:100%;
  min-height:110px;
  padding:12px 14px;
  font:inherit;
}


/* 1.30j – verbindlich einheitliche Formularhöhen */
html body .gsl-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body .gsl-content select {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border: 1px solid #d5dfda !important;
  border-radius: 9px !important;
  background-color: #fff !important;
  color: #1d2924 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 50px !important;
  vertical-align: middle !important;
}

html body .gsl-content select {
  padding-right: 42px !important;
  -webkit-appearance: menulist !important;
  appearance: auto !important;
}

html body .gsl-content select option {
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: normal !important;
}

html body .gsl-content textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 110px !important;
  padding: 12px 14px !important;
  border: 1px solid #d5dfda !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #1d2924 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

/* Safari/WebKit: verhindert die flache native Select-Darstellung */
@supports (-webkit-touch-callout: none) {
  html body .gsl-content select {
    min-height: 50px !important;
    height: 50px !important;
    font-size: 15px !important;
  }
}


/* 1.30k – Formularfelder wirklich portalweit, unabhängig vom Seitencontainer */
html body form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]),
html body form select {
  box-sizing:border-box !important;
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  padding:0 14px !important;
  border:1px solid #d5dfda !important;
  border-radius:9px !important;
  background-color:#fff !important;
  color:#1d2924 !important;
  font-family:inherit !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:normal !important;
}
html body form select {
  padding-right:42px !important;
  -webkit-appearance:menulist !important;
  appearance:auto !important;
}
html body form textarea {
  box-sizing:border-box !important;
  width:100% !important;
  min-height:110px !important;
  padding:12px 14px !important;
  border:1px solid #d5dfda !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#1d2924 !important;
  font:400 15px/1.45 inherit !important;
}

/* Rollenwahl mit den bestehenden Grünstromland-Wappen */
.gsl-role-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:44px;
  row-gap:12px;
  margin:12px 0 22px;
}
.gsl-role-choice{
  display:grid;
  grid-template-columns:22px 48px 1fr;
  gap:12px;
  align-items:center;
  min-height:62px;
  margin:0 !important;
  cursor:pointer;
  font-weight:400 !important;
}
.gsl-role-choice input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}
.gsl-role-crest-large{
  width:42px !important;
  height:50px !important;
  min-width:42px;
}
.gsl-role-crest-large span{
  font-size:13px !important;
  font-weight:800 !important;
}
.gsl-role-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.gsl-role-copy strong{
  font-size:16px;
  line-height:1.15;
  color:#18251f;
}
.gsl-role-copy small{
  font-size:13px;
  line-height:1.25;
  color:#718078;
  font-weight:400;
}
@media(max-width:760px){
  .gsl-role-picker{grid-template-columns:1fr;column-gap:0}
}


/* Release 1.32c – Seitentitel nur im oberen weißen Kopfbereich.
   Der Seitentitel wird bereits durch head($title) in .topbar ausgegeben.
   Direkte H1-Überschriften im Seiteninhalt werden deshalb ausgeblendet. */
main.content > h1,
main.content > div:first-child > h1 {
    display: none !important;
}
/* Wenn das H1 in einem einfachen Header-Wrapper liegt, bleibt dessen Begleitinhalt erhalten. */
