/* Körperkarte der Anbieter (Eigentümerwunsch 22.09.2026, Bühne-Look).
   Nur Farbmarken aus app.css/themes.css; keine Inline-Stile (CSP). */
.provider-view-switch{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
#providerDialog .provider-view-button{flex:0 1 auto;background:var(--surface);color:var(--muted);border:1px solid var(--line);font-weight:600}
#providerDialog .provider-view-button.is-active{background:var(--theme-accent-soft,var(--surface));border-color:var(--theme-accent-line,var(--accent));color:var(--theme-accent-text,var(--accent))}
.is-hidden{display:none}

.provider-body{display:flex;flex-direction:column;gap:14px;margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:var(--theme-radius,22px);background:var(--surface);backdrop-filter:var(--theme-blur,none);-webkit-backdrop-filter:var(--theme-blur,none)}
.provider-body-figure{display:flex;justify-content:center}
.provider-body-svg{width:100%;max-width:320px;height:auto;overflow:visible}
.provider-body-legend{margin:0;font-size:.8rem;color:var(--muted);text-align:center}

/* Zonen: Grundfarbe ist die Anbieterfarbe, sonst die Bühnenfarbe. */
.pb-zone{--pb-color:var(--accent);cursor:pointer}
.pb-zone .pb-shape{fill:var(--pb-color);fill-opacity:.08;stroke:var(--line);stroke-width:1.6}
.pb-zone .pb-line{fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round}
.pb-zone .pb-pouch{fill:var(--pb-color);fill-opacity:.16;stroke:var(--line);stroke-width:1.2}
.pb-decor{fill:var(--muted);fill-opacity:.14;stroke:var(--line);stroke-width:1.4}

.pb-zone.is-on .pb-shape,.pb-zone.is-on .pb-pouch{stroke:var(--pb-color);stroke-width:2;animation:pb-glow 3.4s ease-in-out infinite}
.pb-zone.is-on .pb-line{stroke:var(--pb-color)}
.pb-zone.is-off .pb-shape,.pb-zone.is-unknown .pb-shape{fill:var(--muted);fill-opacity:.1;stroke:var(--line)}
.pb-zone.is-off .pb-line,.pb-zone.is-unknown .pb-line{stroke:var(--muted)}
.pb-zone.is-blocked .pb-shape{stroke-dasharray:6 5}
.pb-zone.is-future .pb-shape{fill:var(--pb-color);fill-opacity:.05;stroke:var(--pb-color);stroke-opacity:.5;stroke-dasharray:4 5}
.pb-zone.is-selected .pb-shape{stroke-width:2.6}
.pb-legs-label{fill:var(--muted);font-size:11px;letter-spacing:.02em}
@keyframes pb-glow{0%,100%{fill-opacity:.2}50%{fill-opacity:.46}}
@media(prefers-reduced-motion:reduce){.pb-zone.is-on .pb-shape,.pb-zone.is-on .pb-pouch{animation:none;fill-opacity:.32}}
#providerDialog .pb-zone:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Anbieterfarben (offizielle Markenfarben, nur als Leuchtfarbe der Zone). */
.pb-zone[data-provider=chatgpt]{--pb-color:#10a37f}
.pb-zone[data-provider=claude]{--pb-color:#d97757}
.pb-zone[data-provider=grok]{--pb-color:#9aa4b2}
.pb-zone[data-provider=heygen]{--pb-color:#7559ff}
.pb-zone[data-provider=elevenlabs]{--pb-color:#4f8cff}

.provider-body-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--theme-accent-line,var(--line));border-radius:var(--theme-radius-sm,16px);background:var(--theme-raised,var(--surface));min-width:0;overflow-wrap:anywhere}
.provider-body-card p{margin:0}
.provider-body-title{margin:0;font-size:1.05rem}
.provider-body-who{font-weight:600}
.provider-body-can{color:var(--text)}
.provider-body-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.provider-body-chips{display:flex;flex-wrap:wrap;gap:6px}
.provider-body-state{font-size:.85rem;font-weight:600;color:var(--muted)}
.provider-body-state.is-on{color:var(--theme-accent-text,var(--accent))}
.provider-body-state.is-off{color:var(--theme-danger)}
.provider-body-connect{align-self:flex-start}
.pb-tool{font-size:.78rem;border-radius:8px;padding:4px 9px;border:1px solid var(--theme-accent-line,var(--line));background:var(--theme-accent-soft,var(--surface));color:var(--theme-accent-text,var(--accent))}
#providerDialog .pb-chip{min-height:38px;padding:6px 11px;font-size:.82rem;border:1px solid var(--line);background:var(--theme-field,var(--surface));color:var(--muted)}
#providerDialog .pb-chip.is-on{border-color:var(--theme-accent-line,var(--accent));color:var(--theme-accent-text,var(--accent))}
#providerDialog .pb-chip.is-current{background:var(--theme-accent-soft,var(--surface));font-weight:600}
@media(max-width:480px){.provider-body{padding:14px}.provider-view-switch button{flex:1 1 auto}}
