/* GrabCast Studio: Retention Coach panel (assets/studio-coach-ui.js). Uses the theme tokens; panel shell mirrors .au-panel. */
.co-panel{position:fixed;z-index:60;right:12px;top:72px;bottom:12px;width:min(410px,calc(100vw - 24px));border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.28);padding:12px}
.co-panel[hidden]{display:none}
.co-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:15px}
.co-top{display:flex;gap:14px;align-items:center;margin:8px 0 10px}
.co-ring{--p:0;--c:#16a34a;flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--surface2) 0)}
.co-ring span{width:64px;height:64px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:800;font-size:22px;line-height:1}
.co-ring small{display:block;font-size:10px;font-weight:600;color:var(--muted);text-align:center}
.co-lab{font-weight:800;font-size:15px}
.co-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.co-item{border:1px solid var(--border);border-left-width:4px;border-radius:10px;background:var(--surface2);padding:8px 10px;font-size:13px;line-height:1.5}
.co-item.pass{border-left-color:#16a34a}.co-item.warn{border-left-color:#d97706}.co-item.error{border-left-color:#dc2626}.co-item.na{border-left-color:var(--border)}
.co-item h3{margin:0 0 2px;font-size:13.5px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.co-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.co-item.pass .co-badge{color:#15803d}.co-item.warn .co-badge{color:#b45309}.co-item.error .co-badge{color:#b91c1c}.co-item.na .co-badge{color:var(--muted)}
html.dark .co-item.pass .co-badge{color:#4ade80}html.dark .co-item.warn .co-badge{color:#fbbf24}html.dark .co-item.error .co-badge{color:#fca5a5}
.co-item p{margin:2px 0}.co-det{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:12.5px}
.co-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.co-ex{border:1px solid var(--border);border-radius:10px;background:var(--surface2);padding:8px 10px;margin:10px 0;font-size:13px}
.co-ex b{font-size:14px}
@media(max-width:760px){.co-panel{left:0;right:0;top:auto;bottom:0;width:auto;height:72vh;border-radius:14px 14px 0 0}}
@media(prefers-reduced-motion:no-preference){.co-ring{transition:background .3s}}
