/* SPRIVO KI Assistent 2.9.2 */
#sprivo-help{--sa-bg:#0d120f;--sa-surface:#141b16;--sa-surface-2:#1b241d;--sa-line:#263128;--sa-text:#ecf2ed;--sa-muted:#98a69c;--sa-accent:#53ec8d;--sa-accent-ink:#06210f;--sa-user:#1f3a29;--sa-err:#ff9a90;--sa-shadow:0 24px 70px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.25);
 position:fixed;right:20px;bottom:20px;z-index:60;font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--sa-text);-webkit-font-smoothing:antialiased}
:root[data-theme=light] #sprivo-help{--sa-bg:#ffffff;--sa-surface:#f4f7f4;--sa-surface-2:#eaf0eb;--sa-line:#dbe3dc;--sa-text:#132018;--sa-muted:#5b6b60;--sa-accent:#1f9d55;--sa-accent-ink:#fff;--sa-user:#dff3e6;--sa-err:#b3261e;--sa-shadow:0 24px 60px rgba(20,40,28,.18),0 2px 8px rgba(20,40,28,.08)}
#sprivo-help *,#sprivo-help *::before,#sprivo-help *::after{box-sizing:border-box}
#sprivo-help [hidden]{display:none!important}
#sprivo-help svg{width:20px;height:20px;flex:none}
#sprivo-help button{font:inherit;color:inherit;cursor:pointer}
#sprivo-help :focus-visible{outline:2px solid var(--sa-accent);outline-offset:2px}
.sa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Launcher */
.sa-launch{display:flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 8px;border:1px solid color-mix(in srgb,var(--sa-accent) 35%,var(--sa-line));border-radius:999px;background:var(--sa-bg);box-shadow:var(--sa-shadow);font-weight:600;transition:transform .15s ease,border-color .15s ease}
.sa-launch:hover{transform:translateY(-1px);border-color:var(--sa-accent)}
.sa-launch-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sa-accent);color:var(--sa-accent-ink)}
.sa-launch-icon svg{width:21px;height:21px}
#sprivo-help.is-open .sa-launch{display:none}

/* Panel */
.sa-panel{position:absolute;right:0;bottom:0;width:392px;height:min(640px,calc(100vh - 40px));height:min(640px,calc(100dvh - 40px));display:flex;flex-direction:column;background:var(--sa-bg);border:1px solid var(--sa-line);border-radius:18px;box-shadow:var(--sa-shadow);overflow:hidden;animation:sa-in .18s ease-out}
@keyframes sa-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.sa-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 16px;border-bottom:1px solid var(--sa-line)}
.sa-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sa-accent);color:var(--sa-accent-ink)}
.sa-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.sa-title strong{font-size:15px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sa-muted)}
.sa-status i{width:7px;height:7px;border-radius:50%;background:var(--sa-muted)}
#sprivo-help.sa-ai-on .sa-status i{background:var(--sa-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--sa-accent) 22%,transparent)}
.sa-icon-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--sa-muted)}
.sa-icon-btn:hover{background:var(--sa-surface-2);color:var(--sa-text)}
.sa-icon-btn svg{width:18px;height:18px}

.sa-view{flex:1;min-height:0;display:flex;flex-direction:column}
.sa-log{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;overscroll-behavior:contain}
.sa-msg{display:flex;align-items:flex-start;gap:8px;max-width:100%}
.sa-msg-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--sa-surface-2);color:var(--sa-accent);flex:none;font-weight:700;font-size:13px}
.sa-msg-avatar svg{width:16px;height:16px}
.sa-bubble{max-width:84%;padding:10px 13px;border-radius:16px 16px 16px 6px;background:var(--sa-surface);border:1px solid var(--sa-line);word-wrap:break-word;overflow-wrap:anywhere}
.sa-bubble p{margin:0}.sa-bubble p+p,.sa-bubble p+ul,.sa-bubble p+ol,.sa-bubble ul+p,.sa-bubble ol+p{margin-top:8px}
.sa-bubble ul,.sa-bubble ol{margin:0;padding-left:20px}.sa-bubble li+li{margin-top:3px}
.sa-user{justify-content:flex-end}
.sa-user .sa-bubble{background:var(--sa-user);border-color:transparent;border-radius:16px 16px 6px 16px}
.sa-error .sa-msg-avatar{color:var(--sa-err)}
.sa-error .sa-bubble{border-color:color-mix(in srgb,var(--sa-err) 45%,var(--sa-line));color:var(--sa-text);font-size:13px}
.sa-cta{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:6px 10px;border-radius:9px;background:var(--sa-surface-2);color:var(--sa-accent);font-weight:600;font-size:13px;text-decoration:none}
.sa-cta svg{width:15px;height:15px}.sa-cta:hover{text-decoration:underline}
.sa-typing{display:inline-flex;gap:4px;padding:4px 2px}
.sa-typing i{width:7px;height:7px;border-radius:50%;background:var(--sa-muted);animation:sa-dot 1.1s infinite ease-in-out}
.sa-typing i:nth-child(2){animation-delay:.15s}.sa-typing i:nth-child(3){animation-delay:.3s}
@keyframes sa-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.sa-col{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:84%}
.sa-user .sa-col{align-items:flex-end}
.sa-col .sa-bubble{max-width:100%}
.sa-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:0 4px;font-size:11px;color:var(--sa-muted)}
.sa-rate{display:inline-flex;align-items:center;gap:2px}
.sa-rate>span{margin-right:2px}
.sa-rate button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:var(--sa-muted)}
.sa-rate button:hover{background:var(--sa-surface-2);color:var(--sa-accent)}
.sa-rate button svg{width:14px;height:14px}
.sa-rate.is-done{color:var(--sa-accent)}
.sa-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 0 4px 34px}
.sa-quick button{border:1px solid var(--sa-line);background:transparent;border-radius:999px;padding:6px 12px;font-size:13px;color:var(--sa-text);transition:border-color .15s,background .15s}
.sa-quick button:hover{border-color:var(--sa-accent);background:var(--sa-surface)}
.sa-bubble button.sa-cta{border:0}
.sa-foot-note{font-size:11px;color:var(--sa-muted);text-align:right}

/* Proactive greeting */
.sa-teaser{position:absolute;right:0;bottom:64px;width:min(290px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:4px;padding:12px 8px 12px 14px;background:var(--sa-bg);border:1px solid var(--sa-line);border-radius:16px 16px 6px 16px;box-shadow:var(--sa-shadow);animation:sa-in .25s ease-out}
.sa-teaser-text{flex:1;border:0;background:none;text-align:left;font-size:13.5px;line-height:1.45;padding:0}
.sa-teaser-close{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:var(--sa-muted);flex:none}
.sa-teaser-close:hover{background:var(--sa-surface-2);color:var(--sa-text)}
.sa-teaser-close svg{width:14px!important;height:14px!important}
#sprivo-help.is-open .sa-teaser{display:none}
.sa-form-head{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--sa-surface)}
.sa-form-head p{margin:0;font-size:13px;color:var(--sa-muted)}
.sa-form-head strong{color:var(--sa-text)}
.sa-form-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--sa-accent);color:var(--sa-accent-ink);flex:none}
.sa-form-icon svg{width:17px!important;height:17px!important}
.sa-form-status.is-warn{color:var(--sa-text)}

/* Consent */
.sa-consent{margin:6px 12px 10px;padding:12px;border:1px solid var(--sa-line);border-radius:14px;background:var(--sa-surface);display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:start}
.sa-consent-icon{color:var(--sa-accent);padding-top:1px}.sa-consent-icon svg{width:18px;height:18px}
.sa-consent p{margin:0;font-size:12.5px;color:var(--sa-muted)}
.sa-consent .sa-btn{grid-column:1/-1;margin-top:4px}

/* Composer */
.sa-composer{display:flex;align-items:flex-end;gap:8px;margin:6px 12px 6px;padding:6px 6px 6px 14px;border:1px solid var(--sa-line);border-radius:16px;background:var(--sa-surface);transition:border-color .15s}
.sa-composer:focus-within{border-color:color-mix(in srgb,var(--sa-accent) 60%,var(--sa-line))}
.sa-composer textarea{flex:1;min-height:38px;max-height:132px;padding:8px 0;border:0;outline:0;resize:none;background:transparent;color:var(--sa-text);font:inherit;line-height:1.45}
.sa-composer textarea::placeholder{color:var(--sa-muted)}
#sprivo-help .sa-composer textarea:focus-visible{outline:0}
.sa-send{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:var(--sa-accent);color:var(--sa-accent-ink);flex:none;transition:opacity .15s,transform .15s}
.sa-send:hover{transform:translateY(-1px)}.sa-send:disabled{opacity:.45;cursor:default;transform:none}
.sa-send svg{width:18px;height:18px}
.sa-foot{display:flex;justify-content:space-between;gap:10px;padding:2px 16px 12px}
.sa-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:2px 0;font-size:12.5px;color:var(--sa-muted)!important;text-decoration:none}
.sa-link:hover{color:var(--sa-text)!important;text-decoration:underline}
.sa-link svg{width:14px;height:14px}
.sa-consent .sa-link{display:inline;font-size:inherit;text-decoration:underline}

/* Buttons & forms */
.sa-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:11px;background:var(--sa-accent);color:var(--sa-accent-ink)!important;font-weight:650}
.sa-btn:hover{filter:brightness(1.06)}.sa-btn:disabled{opacity:.55;cursor:default}
.sa-btn-wide{width:100%}
.sa-feedback{overflow-y:auto}
.sa-form{display:flex;flex-direction:column;gap:14px;padding:16px}
.sa-form-intro{margin:0;font-size:13px;color:var(--sa-muted)}
.sa-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0;padding:4px;border:1px solid var(--sa-line);border-radius:12px;background:var(--sa-surface)}
.sa-seg label{position:relative}
.sa-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sa-seg span{display:block;text-align:center;padding:7px 4px;border-radius:9px;font-size:13px;color:var(--sa-muted)}
.sa-seg input:checked+span{background:var(--sa-bg);color:var(--sa-text);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.sa-seg input:focus-visible+span{outline:2px solid var(--sa-accent)}
.sa-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.sa-field input,.sa-field textarea{width:100%;padding:10px 12px;border:1px solid var(--sa-line);border-radius:11px;background:var(--sa-surface);color:var(--sa-text);font:inherit;font-weight:400;resize:vertical}
.sa-field input:focus,.sa-field textarea:focus{outline:0;border-color:var(--sa-accent)}
.sa-form-status{margin:0;font-size:13px;color:var(--sa-muted);min-height:1em}
.sa-form-status:empty{display:none}
.sa-form-status.is-ok{color:var(--sa-accent)}.sa-form-status.is-error{color:var(--sa-err)}
.sa-form-status a{color:inherit;font-weight:600}

/* Privacy dialog */
.sa-dialog{width:min(520px,calc(100vw - 32px));max-height:min(70vh,560px);padding:0;border:1px solid var(--sa-line);border-radius:16px;background:var(--sa-bg);color:var(--sa-text);box-shadow:var(--sa-shadow)}
.sa-dialog::backdrop{background:rgba(0,0,0,.55)}
.sa-dialog header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;border-bottom:1px solid var(--sa-line)}
.sa-dialog-text{padding:16px 18px;white-space:pre-wrap;overflow-y:auto;max-height:calc(min(70vh,560px) - 64px);font-size:13.5px;color:var(--sa-muted)}

/* Mobile: full-height sheet, launcher above the bottom navigation */
@media (max-width:720px){
 #sprivo-help{right:12px;bottom:calc(76px + env(safe-area-inset-bottom))}
 .sa-launch{height:48px;padding:0 6px}
 .sa-launch-label{display:none}
 #sprivo-help.is-open{inset:0;right:0;bottom:0;z-index:80}
 .sa-panel{position:fixed;inset:0;width:100%;height:100%;height:100dvh;border-radius:0;border:0;animation:sa-up .2s ease-out}
 .sa-head{padding-top:calc(12px + env(safe-area-inset-top))}
 .sa-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .sa-col{max-width:88%}
 .sa-foot-note{display:none}
 .sa-composer textarea{font-size:16px}
.sa-field input,.sa-field textarea{font-size:16px}
}
@keyframes sa-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){#sprivo-help *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#sprivo-help{display:none}}

#sprivo-help .sa-cta{font-size:13px;font-weight:600;line-height:1.3;cursor:pointer}
.sa-foot .sa-link{white-space:nowrap}
.sa-foot{align-items:center}
.sa-msg-avatar{margin-top:2px}
/* 2.10.1: Seitenweite Fokus-Regeln (launcher.css, styles.css) dürfen im Chat keinen zweiten Rahmen um das Textfeld legen. */
#sprivo-help .sa-composer textarea,#sprivo-help .sa-composer textarea:focus,#sprivo-help .sa-composer textarea:focus-visible{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;background:transparent!important}
#sprivo-help .sa-composer:focus-within{border-color:var(--sa-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--sa-accent) 18%,transparent)}
#sprivo-help .sa-composer{align-items:center}
#sprivo-help .sa-send{color:var(--sa-accent-ink)!important}#sprivo-help .sa-send svg{stroke:currentColor}
/* 2.10.1: Platz unter dem Inhalt, damit der "Fragen?"-Button nie einen Senden- oder Speichern-Button verdeckt. */
.sa-has-launcher #member-main,.sa-has-launcher #community-main,.sa-has-launcher .public-main,.sa-has-launcher .admin-main{padding-bottom:max(96px,var(--sa-space,0px))}
