/* Academy course panel. Product-neutral: override the --ac-* tokens to match a product's brand. */
:root{--ac-w:384px;--ac-brand:#0f9d74;--ac-brand-strong:#0b7f5e;--ac-brand-soft:#e8f7f1;--ac-ink:#111827;--ac-muted:#6b7280;--ac-line:#e7e5df;--ac-surface:#fff;--ac-surface-2:#fafaf7;--ac-dim:rgba(15,23,42,.5);--ac-font:inherit}
.ac-panel,.ac-tab,.ac-spot-tip{font-family:var(--ac-font);color:var(--ac-ink);box-sizing:border-box}
.ac-panel *,.ac-tab *{box-sizing:border-box}
.ac-panel svg,.ac-tab svg{width:18px;height:18px;flex-shrink:0}
.ac-panel button,.ac-tab{font:inherit;cursor:pointer}
/* Stay independent of the host product's own button styles (shadows, hover colours, press effect) */
:where(.ac-panel) button,:where(.ac-tab){box-shadow:none;letter-spacing:normal;line-height:1.3;min-height:0}
:where(.ac-panel) button:active,:where(.ac-tab):active{transform:none}
.ac-panel .ac-chip:hover,.ac-panel .ac-hit:hover{background:var(--ac-brand-soft)}
.ac-panel .ac-ghost:hover:not(:disabled){background:var(--ac-surface-2);border-color:var(--ac-line-strong,#d6d3ca);color:var(--ac-ink)}
.ac-panel .ac-tabs button:hover{background:none;border-color:transparent;border-bottom-color:var(--ac-line);color:var(--ac-ink)}
.ac-panel .ac-tabs button[aria-selected=true]:hover{border-bottom-color:var(--ac-brand);color:var(--ac-brand-strong)}
.ac-panel .ac-outline ol button:hover,.ac-panel .ac-link:hover{border-color:transparent}
.ac-panel .ac-link:hover{background:none;color:var(--ac-brand-deep,#075c45)}

/* Docked on the right: the app keeps its full layout beside it on wide screens */
.ac-panel{position:fixed;top:0;right:0;bottom:0;z-index:60;width:var(--ac-w);display:flex;flex-direction:column;background:var(--ac-surface);border-left:1px solid var(--ac-line);box-shadow:-18px 0 48px -28px rgba(17,24,39,.35)}
@media(min-width:1100px){html.ac-docked body{padding-right:var(--ac-w)}}
.ac-head{display:flex;align-items:center;gap:10px;padding:16px 14px 12px 18px;background:linear-gradient(135deg,var(--ac-brand-strong),var(--ac-brand));color:#fff}
.ac-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.18)}.ac-badge svg{width:22px;height:22px}
.ac-name{flex:1;min-width:0}.ac-name b{display:block;font-size:15.5px;letter-spacing:-.01em}.ac-name small{display:block;font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-icon{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:transparent;color:#fff}.ac-icon:hover{background:rgba(255,255,255,.16)}
.ac-progress{padding:12px 18px 4px}.ac-bar{height:7px;border-radius:999px;background:#ecebe6;overflow:hidden}.ac-bar span{display:block;height:100%;border-radius:999px;background:var(--ac-brand);transition:width .4s}
.ac-progress small{display:block;margin-top:6px;font-size:11.5px;color:var(--ac-muted)}
.ac-tabs{display:flex;gap:6px;padding:8px 14px 0;border-bottom:1px solid var(--ac-line)}
.ac-tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ac-muted);font-size:13px;font-weight:600}
.ac-tabs button[aria-selected=true]{color:var(--ac-brand-strong);border-bottom-color:var(--ac-brand)}.ac-tabs svg{width:15px;height:15px}
.ac-body{flex:1;overflow-y:auto;padding:16px 18px 20px}
.ac-chapter{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ac-brand-strong)}
.ac-title{margin:6px 0 2px;font-size:19px;line-height:1.25;letter-spacing:-.015em}
.ac-count{margin:0 0 12px;font-size:12px;color:var(--ac-muted)}
.ac-say{font-size:14.5px;line-height:1.65;color:#374151}
.ac-say span{border-radius:4px;transition:background .2s,color .2s}.ac-say span.now{background:#fef3c7;color:var(--ac-ink);box-shadow:0 0 0 3px #fef3c7}
.ac-task{display:flex;gap:10px;margin:16px 0 0;padding:12px 14px;border:1px dashed #c7cbd1;border-radius:12px;background:var(--ac-surface-2)}
.ac-task b{display:block;font-size:13px}.ac-task p{margin:2px 0 0;font-size:13px;color:#4b5563;line-height:1.5}
.ac-tick{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;border:2px solid #c7cbd1;color:#fff}.ac-tick svg{width:14px;height:14px}
.ac-task.done{border-style:solid;border-color:#a7e3cc;background:var(--ac-brand-soft)}.ac-task.done .ac-tick{background:var(--ac-brand);border-color:var(--ac-brand)}.ac-task.done b{color:var(--ac-brand-strong)}
.ac-task.pop{animation:ac-pop .5s ease}@keyframes ac-pop{40%{transform:scale(1.03)}}
.ac-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ac-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 12px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-surface);color:var(--ac-ink);font-size:13px;font-weight:600}.ac-chip:hover{border-color:var(--ac-brand);color:var(--ac-brand-strong)}.ac-chip svg{width:16px;height:16px}
.ac-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border:0;border-radius:10px;background:var(--ac-brand);color:#fff;font-size:13.5px;font-weight:650}.ac-primary:hover{background:var(--ac-brand-strong)}
.ac-primary.ac-soft{background:#eef0f2;color:#4b5563}.ac-primary.ac-soft:hover{background:#e3e6e9}
.ac-act{width:100%}.ac-act.busy{opacity:.7;cursor:progress}
.ac-flash{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff7e6;color:#7a4d06;font-size:13px}
.ac-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--ac-line);background:var(--ac-surface-2)}
.ac-ghost{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 10px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-surface);color:var(--ac-ink);font-size:13px;font-weight:600}.ac-ghost:disabled{opacity:.45;cursor:default}
.ac-foot .ac-primary{margin-left:auto;min-width:96px}
.ac-outline{list-style:none;margin:0;padding:0}.ac-outline>li{margin:0 0 16px}
.ac-ch{display:flex;justify-content:space-between;gap:8px}.ac-ch b{font-size:14px}.ac-ch small{color:var(--ac-muted);font-size:12px}
.ac-outline>li>p{margin:2px 0 6px;font-size:12.5px;color:var(--ac-muted)}
.ac-outline ol{list-style:none;margin:4px 0 0;padding:0}
.ac-outline ol button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:8px;background:none;color:#374151;font-size:13px;text-align:left}.ac-outline ol button:hover{background:var(--ac-surface-2)}
.ac-outline ol button.now{background:var(--ac-brand-soft);color:var(--ac-brand-strong);font-weight:650}
.ac-dot{display:grid;place-items:center;flex-shrink:0;width:16px;height:16px;border-radius:50%;border:1.5px solid #c7cbd1;color:#fff}.ac-dot svg{width:11px;height:11px}
.ac-outline button.done .ac-dot{background:var(--ac-brand);border-color:var(--ac-brand)}
.ac-restart{margin-top:4px}
.ac-finish{text-align:center;padding:24px 4px}.ac-medal{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--ac-brand-soft);color:var(--ac-brand-strong)}.ac-medal svg{width:34px;height:34px}
.ac-finish h3{margin:14px 0 6px;font-size:20px}.ac-finish p{margin:0 0 18px;color:#4b5563;line-height:1.6}.ac-finish .ac-primary{width:100%;margin-bottom:10px}

/* Ask */
.ac-ask{display:grid;gap:10px}
.ac-label{display:block;margin:4px 0 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ac-muted)}
.ac-ask textarea,.ac-contact input{width:100%;padding:10px 12px;border:1px solid var(--ac-line);border-radius:10px;font:inherit;font-size:14px;color:var(--ac-ink);background:var(--ac-surface);resize:vertical}
.ac-ask textarea:focus,.ac-contact input:focus{outline:none;border-color:var(--ac-brand);box-shadow:0 0 0 3px rgba(15,157,116,.18)}
.ac-results{display:grid;gap:8px}
.ac-answer{padding:10px 12px;border-radius:12px;background:var(--ac-brand-soft);border:1px solid #c6ecdc}
.ac-answer summary{cursor:pointer;font-size:13.5px;font-weight:650;list-style-position:outside;margin-left:14px}.ac-answer p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:#374151}
.ac-topic{border:1px solid var(--ac-line);border-radius:12px;background:var(--ac-surface)}.ac-topic+.ac-topic{margin-top:6px}
.ac-topic>summary{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;cursor:pointer;font-size:13.5px;font-weight:650}.ac-topic>summary small{color:var(--ac-muted);font-weight:500}
.ac-topic[open]>summary{border-bottom:1px solid var(--ac-line)}.ac-topic .ac-answer{margin:8px;background:var(--ac-surface-2);border-color:var(--ac-line)}
.ac-link{justify-self:start;padding:4px 0;border:0;background:none;color:var(--ac-brand-strong);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ac-hit{display:block;width:100%;padding:10px 12px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-surface);text-align:left}.ac-hit:hover{border-color:var(--ac-brand)}.ac-hit b{display:block;font-size:13.5px;color:var(--ac-ink)}.ac-hit small{color:var(--ac-muted);font-size:12px}
.ac-none{margin:0;font-size:13px;color:var(--ac-muted)}
.ac-contact{display:grid;gap:8px;margin-top:6px;padding:12px 14px;border-radius:12px;border:1px dashed #c7cbd1;background:var(--ac-surface-2)}.ac-contact p{margin:0;font-size:13px;color:#4b5563}.ac-contact .ac-chip{justify-self:start}
.ac-sent{display:flex;gap:8px;align-items:flex-start;color:var(--ac-brand-strong);font-weight:600}.ac-sent svg{flex-shrink:0;margin-top:2px}

/* Collapsed: a tab on the right edge */
.ac-tab{position:fixed;right:0;top:50%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:0;border-radius:12px 0 0 12px;background:var(--ac-brand);color:#fff;box-shadow:0 10px 30px -12px rgba(17,24,39,.5);transform:translateY(-50%)}
.ac-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12.5px;font-weight:650;letter-spacing:.04em}.ac-tab b{font-size:11px}.ac-tab:hover{background:var(--ac-brand-strong)}

/* Spotlight */
.ac-spot{position:fixed;z-index:59;border-radius:12px;pointer-events:none;box-shadow:0 0 0 9999px var(--ac-dim),0 0 0 3px var(--ac-brand);animation:ac-pulse 1.4s ease-in-out infinite;transition:left .15s,top .15s,width .15s,height .15s}
@keyframes ac-pulse{50%{box-shadow:0 0 0 9999px var(--ac-dim),0 0 0 7px rgba(15,157,116,.55)}}
.ac-spot-tip{position:fixed;z-index:61;max-width:260px;padding:8px 12px;border-radius:10px;background:var(--ac-ink);color:#fff;font-size:13px;font-weight:600;pointer-events:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.ac-spot-tip:before{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;background:inherit;transform:translateX(-50%) rotate(45deg)}.ac-spot-tip.above:before{top:auto;bottom:-6px}

/* Phones: a bottom sheet */
@media(max-width:760px){
 .ac-panel{top:auto;left:0;width:auto;max-height:58dvh;border-left:0;border-top:1px solid var(--ac-line);border-radius:18px 18px 0 0;box-shadow:0 -18px 48px -24px rgba(17,24,39,.45)}
 .ac-head{border-radius:18px 18px 0 0;padding:12px 12px 10px 14px}
 .ac-tab{top:auto;bottom:88px;transform:none}
}
@media print{.ac-panel,.ac-tab,.ac-spot,.ac-spot-tip{display:none!important}}
