:root{--product-focus:#315e4b;--product-faint:#5d6b63;--product-ink:#202c28;--product-muted:#718078;--product-line:#e8ece7;--product-paper:#fff;--product-canvas:#f6f7f2;--product-green:#315e4b;--product-soft:#eaf1e7;--product-radius:17px}body.product-body{background:var(--product-canvas);color:var(--product-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}a{color:var(--product-green)}.product-layout{min-height:calc(100vh - 66px);display:flex}.product-sidebar{width:238px;position:fixed;inset:0 auto 66px 0;z-index:4;background:#fff;border-right:1px solid var(--product-line);padding:28px 17px 15px;display:flex;flex-direction:column}.product-wordmark{display:flex;align-items:center;gap:10px;color:var(--product-ink);font-size:17px;font-weight:800;letter-spacing:-.04em;text-decoration:none}.product-mark{width:31px;height:31px;border-radius:10px;background:var(--product-green);display:grid;place-items:center;color:#fff;font-weight:800;font-size:20px}.wordmark-light{font-weight:500;color:#789182}.product-nav-label{font-size:9px;font-weight:800;letter-spacing:.13em;color:#87928a;margin:48px 10px 12px}.product-nav{display:grid;gap:5px}.product-nav-link{min-height:44px;display:flex;align-items:center;gap:13px;padding:0 12px;border-radius:10px;color:#647168;text-decoration:none;font-size:13px}.product-nav-link i{font-size:17px}.product-nav-link:hover,.product-nav-link.active{background:#edf3eb;color:var(--product-green);font-weight:700}.product-sidebar-fill{flex:1;min-height:25px}.product-coach-link{border:1px solid #e6ebdf;border-radius:13px;background:#f5f7ef;padding:12px;display:flex;gap:9px;align-items:center;text-decoration:none;color:var(--product-ink);margin-bottom:15px}.coach-mark{width:30px;height:30px;border-radius:9px;background:#e3ebd6;color:var(--product-green);display:grid;place-items:center;flex-shrink:0}.product-coach-link>span:nth-child(2){display:grid;flex:1}.product-coach-link strong{font-size:11px}.product-coach-link small{font-size:9px;color:var(--product-muted)}.product-coach-link>i{font-size:10px;color:var(--product-green)}.product-profile{border-top:1px solid var(--product-line);padding:14px 2px 0;display:flex;align-items:center;gap:9px}.product-avatar{height:31px;width:31px;display:grid;place-items:center;border-radius:50%;background:#ece8db;color:#635943;font-size:12px;font-weight:700}.product-profile>span:nth-child(2){display:grid;flex:1;min-width:0}.product-profile strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-profile small{font-size:9px;color:var(--product-muted)}.product-more{height:30px;width:30px;border:0;background:transparent;border-radius:8px;color:var(--product-muted)}.product-main-column{min-width:0;flex:1;margin-left:238px}.product-topbar{height:62px;position:sticky;top:0;z-index:3;background:#fffffff0;backdrop-filter:blur(10px);border-bottom:1px solid var(--product-line);display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 clamp(20px,4vw,55px)}.product-topbar-note{font-size:11px;color:var(--product-muted)}.topbar-action{display:flex;align-items:center;gap:7px;text-decoration:none;font-size:11px;font-weight:700;border:1px solid var(--product-line);padding:7px 10px;border-radius:9px;background:white}.product-mobile-brand{display:none}.product-content{max-width:1260px;margin:0 auto;padding:31px clamp(20px,4vw,55px) 42px;min-height:calc(100vh - 124px)}.product-content-wide{max-width:none;padding-left:12px;padding-right:12px}.product-content>.container,.product-content>.container-fluid{width:100%;max-width:none;padding-left:0;padding-right:0}.product-content .page-title{font-size:28px;font-weight:800;letter-spacing:-.04em;color:var(--product-ink)}.product-content .page-kicker{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--product-faint)}.product-content .card{border:1px solid var(--product-line);border-radius:var(--product-radius);box-shadow:0 5px 20px #263c3010;overflow:hidden}.product-content .card-header,.product-content .card-footer{background:#fff;border-color:var(--product-line)}.product-content .btn-primary{background:var(--product-green);border-color:var(--product-green)}.product-content .btn-outline-primary{color:var(--product-green);border-color:#bfcdbf}.product-content .form-control:focus,.product-content .form-select:focus{border-color:var(--product-focus);box-shadow:0 0 0 .2rem #315e4b20}.product-content :focus-visible,.public-content :focus-visible{outline:3px solid var(--product-focus)!important;outline-offset:3px}.public-topbar{height:68px;background:#fff;border-bottom:1px solid var(--product-line);padding:0 clamp(18px,6vw,90px);display:flex;justify-content:space-between;align-items:center}.public-topbar nav{display:flex;align-items:center;gap:21px}.public-topbar nav a{font-size:12px;text-decoration:none}.public-topbar .public-join{padding:10px 14px;background:var(--product-green);color:white;border-radius:9px;font-weight:700}.public-content{min-height:calc(100vh - 132px);padding:28px 18px}.product-footer{min-height:66px;padding:16px clamp(20px,4vw,55px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--product-line);background:#fff;color:var(--product-faint);font-size:10px}.product-footer span:last-child{display:flex;gap:14px}.product-footer a{text-decoration:none;color:var(--product-faint)}.product-mobile-nav{display:none}.dropdown-menu{border:1px solid var(--product-line);border-radius:12px;padding:6px}.dropdown-item{font-size:12px;border-radius:7px;padding:8px 10px}.alert{border-radius:11px}@media(max-width:760px){.product-layout{min-height:calc(100vh - 112px)}.product-sidebar{display:none}.product-main-column{margin-left:0}.product-topbar{height:54px;justify-content:space-between;padding:0 16px}.product-mobile-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12px}.product-mobile-brand .product-mark{width:25px;height:25px;border-radius:8px;font-size:16px}.product-topbar-note{display:none}.topbar-action{font-size:10px;padding:6px 8px}.product-content{padding:23px 14px 91px;min-height:calc(100vh - 116px)}.product-content .page-title{font-size:23px}.product-content .card{border-radius:14px}.product-footer{min-height:58px;padding:12px 15px;font-size:9px;gap:8px}.product-footer span:last-child{gap:9px}.product-mobile-nav{display:grid;position:fixed;z-index:5;bottom:0;left:0;right:0;height:64px;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(12px);border-top:1px solid var(--product-line);grid-template-columns:repeat(4,1fr)}.product-mobile-nav a{display:grid;justify-items:center;align-content:center;gap:2px;color:#78857c;text-decoration:none;font-size:9px}.product-mobile-nav i{font-size:18px}.product-mobile-nav a.active{color:var(--product-green);font-weight:700}.public-topbar{height:58px;padding:0 14px}.public-topbar nav{gap:12px}.public-topbar nav a{font-size:10px}.public-topbar .public-join{padding:8px 9px}.public-content{padding:16px 12px;min-height:calc(100vh - 116px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.account-page{width:min(100%,640px);margin:clamp(12px,5vh,54px) auto;padding:0 4px}.account-card{padding:clamp(22px,5vw,40px)}.account-card .page-title{margin:.35rem 0 .65rem}.account-card>p{color:var(--product-muted);max-width:52ch}.account-card .account-switch{border-top:1px solid var(--product-line);margin:24px 0 0;padding:18px 0 0;max-width:none;text-align:center;font-size:13px}.account-consents{border:1px solid var(--product-line);border-radius:12px;padding:16px}.account-consents legend{float:none;width:auto;padding:0 5px;font-weight:700;font-size:13px}.account-consents .form-check-label{font-size:13px;line-height:1.55}.account-card .form-label{font-size:13px;font-weight:650}.account-card .form-text{font-size:12px}

/* Gaeste- und Kontoseiten (main.public-content): gleiche Produkt-Tokens wie die
   eingeloggten Seiten. Ueberschreibt die Bootstrap-/style.css-Altlasten (Indigo-
   Button, blauer Fokusring, 2.25rem-Titel), ohne .product-content zu aendern. */
.public-content{--product-muted:#5d6b63;--product-field-line:#7d8c83;--product-eyebrow:#587058;--product-danger:#7d2f27;--product-danger-bg:#fcf3f0;--product-danger-line:#efd8d3;--product-ok:#214a38;--product-ok-bg:#eaf1e7;--product-ok-line:#cfdcc9;--product-info:#2b4a55;--product-info-bg:#edf4f6;--product-info-line:#d3e2e6}

.public-content .btn-primary{background:var(--product-green);border-color:var(--product-green);color:#fff;box-shadow:0 4px 10px #315e4b26}
.public-content .btn-outline-primary{color:var(--product-green);border-color:#7d8c83;background:transparent}
.public-content .btn-outline-primary:hover,.public-content .btn-outline-primary:focus-visible{background:var(--product-soft);border-color:var(--product-green);color:var(--product-green)}

.public-content .form-control:focus{border-color:var(--product-focus);box-shadow:none}
.public-content :focus-visible{outline:3px solid var(--product-focus)!important;outline-offset:2px}
.public-content .form-control:focus-visible{outline-offset:1px}
.public-content .form-check-input{border-color:var(--product-field-line)}
.public-content .form-check-input:checked{background-color:var(--product-green);border-color:var(--product-green)}
.public-content .form-check-input:focus{box-shadow:none;border-color:var(--product-focus)}
.public-content .form-control.is-invalid,.public-content .form-control:user-invalid{border-color:var(--product-danger);background-image:none;padding-right:.75rem}
.public-content .form-check-input.is-invalid,.public-content .form-check-input:user-invalid{border-color:var(--product-danger)}
.public-content .alert{border-radius:11px;font-size:14px;line-height:1.5;width:min(calc(100% - 8px),632px);margin:0 auto 16px}
.public-content .alert-danger{background:var(--product-danger-bg);border-color:var(--product-danger-line);color:var(--product-danger)}
.public-content .alert-success{background:var(--product-ok-bg);border-color:var(--product-ok-line);color:var(--product-ok)}
.public-content .alert-info,.public-content .alert-warning{background:var(--product-info-bg);border-color:var(--product-info-line);color:var(--product-info)}
.public-content .eyebrow{color:var(--product-eyebrow)}
.public-content .account-card .eyebrow{font-size:11px}
.account-card .page-title{font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1.2;color:var(--product-ink)}
.account-card>p{font-size:15px;line-height:1.6}
.account-card .form-label{color:var(--product-ink)}
.account-card .form-text{color:var(--product-muted)}
.account-switch a{font-weight:600}
.public-content .welcome-copy>.eyebrow{color:var(--product-eyebrow)}
.public-content .welcome-copy>p,.public-content .welcome-note{color:var(--product-muted)}
.public-content .welcome-note{font-size:12px}
.public-content .product-error-card .error-code{color:var(--product-eyebrow)}
.product-content .setup-wrap :focus-visible{outline-color:var(--product-focus)!important}
.product-content .setup-wrap input:focus-visible+span{outline-color:var(--product-focus)}
.product-content .setup-wrap>.eyebrow{color:var(--product-eyebrow)}
.product-content .setup-skip{color:var(--product-muted)}
@media(max-width:760px){.account-card .page-title{font-size:23px}.account-card .account-switch{margin-top:20px}}

/* Altlasten-Umbau (eingeloggte Seiten): Bootstrap-Blau und das Indigo/Violett aus
   style.css laufen ueber dieselben Produkt-Tokens wie die Gaesteseiten. Zentral
   ueber Custom Properties; nur was hartkodiert ist, bekommt eine eigene Regel. */
:root{--bs-primary:#315e4b;--bs-primary-rgb:49,94,75;--bs-link-color:#315e4b;--bs-link-color-rgb:49,94,75;--bs-link-hover-color:#244638;--bs-link-hover-color-rgb:36,70,56;--bs-focus-ring-color:rgba(49,94,75,.25);--brand:#315e4b;--brand-weak:rgba(49,94,75,.12);--product-green-deep:#244638}
.btn-primary{--bs-btn-bg:var(--product-green);--bs-btn-border-color:var(--product-green);--bs-btn-hover-bg:var(--product-green-deep);--bs-btn-hover-border-color:var(--product-green-deep);--bs-btn-active-bg:#1c3a2e;--bs-btn-active-border-color:#1c3a2e;--bs-btn-focus-shadow-rgb:49,94,75;--bs-btn-disabled-bg:var(--product-green);--bs-btn-disabled-border-color:var(--product-green);box-shadow:0 4px 10px #315e4b26}
.btn-primary:hover{box-shadow:0 6px 15px #315e4b33}
.btn-outline-primary{--bs-btn-color:var(--product-green);--bs-btn-border-color:#7d8c83;--bs-btn-hover-color:var(--product-green);--bs-btn-hover-bg:var(--product-soft);--bs-btn-hover-border-color:var(--product-green);--bs-btn-active-color:#fff;--bs-btn-active-bg:var(--product-green);--bs-btn-active-border-color:var(--product-green);--bs-btn-focus-shadow-rgb:49,94,75;--bs-btn-disabled-color:var(--product-green);--bs-btn-disabled-border-color:var(--product-green)}
#chat-window .btn-outline-primary{border-color:#7d8c83}
#chat-window .btn-outline-primary:hover,.product-content .btn-outline-primary:hover,.product-content .btn-outline-primary:focus-visible{background:var(--product-soft);border-color:var(--product-green);color:var(--product-green)}
#chat-window .btn-outline-primary:active,.product-content .btn-outline-primary:active,.product-content .btn-outline-primary.active,.product-content .btn-check:checked+.btn-outline-primary{background:var(--product-green);border-color:var(--product-green);color:#fff}
.form-control:focus,.form-select:focus{border-color:var(--product-focus);box-shadow:none}
.form-check-input:focus{border-color:var(--product-focus);box-shadow:none}
.form-check-input:checked,.form-check-input[type=checkbox]:indeterminate{background-color:var(--product-green);border-color:var(--product-green)}
.form-switch .form-check-input:focus:not(:checked){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23315e4b'/%3e%3c/svg%3e")}
.form-range::-webkit-slider-thumb{background-color:var(--product-green)}
.form-range::-moz-range-thumb{background-color:var(--product-green)}
.form-range::-webkit-slider-thumb:active{background-color:#9db7a8}
.form-range::-moz-range-thumb:active{background-color:#9db7a8}
.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(49,94,75,.25)}
.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(49,94,75,.25)}
.nav-pills{--bs-nav-pills-link-active-bg:var(--product-green)}
.nav-link:focus-visible{box-shadow:none}
.dropdown-menu{--bs-dropdown-link-active-bg:var(--product-green)}
.pagination{--bs-pagination-color:var(--product-green);--bs-pagination-hover-color:var(--product-green-deep);--bs-pagination-focus-color:var(--product-green-deep);--bs-pagination-focus-box-shadow:none;--bs-pagination-active-bg:var(--product-green);--bs-pagination-active-border-color:var(--product-green)}
.list-group{--bs-list-group-active-bg:var(--product-green);--bs-list-group-active-border-color:var(--product-green)}
.progress,.progress-stacked{--bs-progress-bar-bg:var(--product-green)}
.accordion{--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23315e4b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}
.accordion-button:not(.collapsed){background:#eaf1e7;color:var(--product-ink)}
.accordion-button:focus{box-shadow:none}
.ts-wrapper.focus .ts-control,.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:var(--product-focus);box-shadow:0 0 0 .2rem #315e4b20}
.ts-wrapper.multi .ts-control>div.active{background:var(--product-green);color:#fff}
.border-dashed{border-color:#bfcdbf;background:transparent}
.border-dashed:hover{border-color:var(--product-green);background:var(--product-soft)}
.border-dashed.dragover{border-color:var(--product-green);background:var(--product-soft)}
.feedback-form textarea:focus{border-color:var(--product-focus);box-shadow:none}
.table-hover tbody tr:hover{background-color:#315e4b0a}
#chat-window .widget-session-item:hover{background:#315e4b0d}
#chat-window .widget-session-item.active{background:#315e4b14;border-left-color:var(--product-green)}
