/* Preserve the existing visual language; only state, recovery and containment are new. */
.oc-tab-panel[hidden]{display:none!important}
.oc-tab-panel{min-width:0;outline-offset:5px}
.oc-tab-panels{min-width:0;overflow-anchor:none}
.oc-card-detail-layout .oc-tab-panels{max-width:1200px;margin-inline:auto}
[data-oc-tabs] [role=tab]:focus-visible{outline:2px solid var(--blue,#0866ff);outline-offset:3px}
.oc-tab-state{min-height:280px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;align-items:center;gap:16px;padding:32px 24px;border:1px solid var(--oc-line,#dbe4f0);border-radius:6px;background:var(--oc-soft,#f3f6fc);color:var(--oc-ink,#081b4f);text-align:center}
.oc-tab-state p{flex-basis:100%;max-width:65ch;margin:0 auto;font-size:14px;line-height:1.6}
.oc-tab-state .button,.oc-tab-state a{min-height:44px;display:inline-flex;align-items:center}
.oc-tab-panel[aria-busy=true] .oc-tab-state::before{content:'';width:20px;height:20px;border:2px solid #bdcce1;border-top-color:#0866ff;border-radius:50%;animation:oc-tabs-spin .8s linear infinite}
.oc-card-overview[aria-busy=true] [data-oc-language-panel]{opacity:.6}
@keyframes oc-tabs-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.oc-tab-panel[aria-busy=true] .oc-tab-state::before{animation:none}}
@media(max-width:640px){.oc-tab-state{padding:24px 16px}.oc-tab-state p{font-size:14px}.oc-tab-panels{width:100%}}
/* Chart SVGs must not inherit the detail/catalogue icon dimensions. */
.oc-data-block .chart svg{display:block;width:100%;height:auto;max-height:230px}
