:root { --academy-ink:#152a3a; --academy-blue:#176b87; --academy-cyan:#35b9c7; --academy-amber:#f59e0b; --academy-paper:#f6fbfc; }
#diotrix-academy-bar { position:fixed; left:50%; bottom:12px; z-index:1001300; min-height:38px; display:none; align-items:center; justify-content:center; gap:8px; max-width:calc(100vw - 32px); padding:7px 76px 7px 14px; color:#422006; background:#fef3c7; border:1px solid #f4c354; border-radius:999px; box-shadow:0 8px 24px rgba(120,72,10,.2); font:750 12px/1.2 inherit; transform:translateX(-50%); }
body.diotrix-academy-active #diotrix-academy-bar { display:flex; }
#diotrix-academy-bar button { position:absolute; right:6px; border:1px solid rgba(120,72,10,.28); border-radius:999px; padding:6px 11px; background:rgba(255,255,255,.72); color:#713f12; font:750 11px/1 inherit; cursor:pointer; }
#diotrix-academy-panel { position:fixed; right:18px; top:64px; z-index:1001200; width:min(370px,calc(100vw - 28px)); max-height:calc(100vh - 80px); overflow:auto; border:1px solid rgba(23,107,135,.2); border-radius:24px; background:var(--academy-paper); color:var(--academy-ink); box-shadow:0 24px 70px rgba(21,42,58,.28); transform:translateY(18px) scale(.98); opacity:0; pointer-events:none; transition:opacity .2s ease,transform .25s ease; }
#diotrix-academy-panel.is-open { transform:none; opacity:1; pointer-events:auto; }
.academy-panel-head { padding:15px 17px 13px; background:linear-gradient(125deg,#12384c,#176b87); color:white; cursor:move; touch-action:none; }
.academy-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.academy-window-actions button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid rgba(255,255,255,.22); border-radius:9px; background:rgba(255,255,255,.1); color:white; cursor:pointer; }
.academy-window-actions .material-symbols-outlined { font-size:19px; }
.academy-panel-kicker { display:flex; align-items:center; gap:7px; margin-bottom:7px; color:#a7edf1; font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.academy-panel-head h3 { margin:0; font-size:20px; line-height:1.15; }
.academy-panel-head p { margin:7px 0 0; color:rgba(255,255,255,.78); font-size:12px; }
.academy-progress { height:5px; background:rgba(255,255,255,.16); }
.academy-progress>span { display:block; height:100%; width:0; background:#5ce1d7; transition:width .3s ease; }
.academy-panel-body { padding:18px 20px 20px; }
.academy-step-count { color:var(--academy-blue); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.academy-panel-body h4 { margin:6px 0 8px; font-size:17px; }
.academy-panel-body p { margin:0; color:#536775; font-size:13px; line-height:1.5; }
.academy-step-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.academy-step-state { padding:4px 7px; border-radius:999px; background:#e0f2fe; color:#075985; font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.academy-instruction { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:9px; margin-top:12px; padding:11px 12px; border:1px solid #9edbe0; border-radius:13px; background:#eaf8f9; color:#153f50; }
.academy-instruction>.material-symbols-outlined { color:#07889a; font-size:24px; }
.academy-instruction div { display:grid; gap:2px; }
.academy-instruction small { color:#54818c; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.academy-instruction strong { font-size:13px; line-height:1.35; }
.academy-why { margin-top:9px; color:#5b6d78; font-size:11px; line-height:1.4; }
.academy-waiting { display:flex; align-items:center; gap:7px; margin-top:11px; padding-top:9px; border-top:1px solid #dbe9ed; color:#47616d; font-size:10px; }
.academy-waiting .material-symbols-outlined { color:#f59e0b; font-size:15px; animation:academy-answer-pulse .9s ease-in-out infinite alternate; }
.academy-feedback { display:none; align-items:flex-start; gap:7px; margin-top:9px; padding:8px 9px; border-radius:10px; font-size:10px; line-height:1.35; }
.academy-feedback.is-error { display:flex; background:#fff1f2; color:#9f1239; }
.academy-feedback.is-hint { display:flex; background:#fffbeb; color:#854d0e; }
.academy-feedback .material-symbols-outlined { font-size:16px; }
.academy-demo-data { margin-top:13px; padding:11px 12px; border-left:3px solid var(--academy-cyan); border-radius:4px 12px 12px 4px; background:#e7f7f8; font-size:12px; line-height:1.55; }
.academy-actions { display:flex; gap:9px; margin-top:16px; }
.academy-actions button { border-radius:12px; padding:9px 13px; font:750 12px/1 inherit; cursor:pointer; }
.academy-btn-help { border:1px solid #c9dce2; background:white; color:var(--academy-ink); }
.academy-btn-exit { border:0; background:#dff1f3; color:#15566d; }
.academy-btn-next { border:0; background:#176b87; color:white; }
.academy-actions-wrap { flex-wrap:wrap; }
.academy-route-card { width:100%; display:grid; grid-template-columns:36px 1fr 24px; align-items:center; gap:10px; margin:14px 0 10px; padding:13px; border:1px solid #8ed5db; border-radius:15px; background:#e7f7f8; color:#164e63; text-align:left; cursor:pointer; }
.academy-route-card>span:nth-child(2),.academy-module-grid button>span:nth-child(2) { display:grid; gap:3px; }
.academy-route-card small,.academy-module-grid small { color:#58717e; font-size:10px; line-height:1.3; }
.academy-module-grid { display:grid; gap:7px; }
.academy-module-grid button { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:9px; width:100%; padding:10px 11px; border:1px solid #d5e4e8; border-radius:12px; background:white; color:var(--academy-ink); text-align:left; cursor:pointer; }
.academy-module-grid button:hover,.academy-route-card:hover { border-color:var(--academy-cyan); transform:translateY(-1px); }
.academy-module-grid .material-symbols-outlined { color:var(--academy-blue); }
.academy-sales-grid { margin-top:14px; grid-template-columns:1fr 1fr; }
.academy-sales-grid button { min-height:76px; align-items:start; }
.academy-sales-grid button>span:first-child { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:#e7f7f8; font-size:18px; }
.academy-training-contract { display:grid; gap:8px; margin-top:15px; }
.academy-training-contract>div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:10px; padding:10px 11px; border:1px solid #d8e7ea; border-radius:12px; background:#fff; }
.academy-training-contract>div>.material-symbols-outlined { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:#e7f7f8; color:var(--academy-blue); font-size:19px; }
.academy-training-contract>div>span:last-child { display:grid; gap:2px; }
.academy-training-contract b { font-size:12px; }
.academy-training-contract small { color:#667b86; font-size:10px; line-height:1.35; }
.academy-safety-note { display:flex; align-items:center; gap:8px; margin-top:11px; padding:9px 10px; border-radius:10px; background:#f0fdf4; color:#25633e; font-size:10px; line-height:1.35; }
.academy-safety-note .material-symbols-outlined { font-size:17px; }
.academy-stage-rail { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin:-3px 0 14px; }
.academy-stage-rail>div { position:relative; display:grid; justify-items:center; gap:3px; padding:7px 3px 6px; border:1px solid #dbe8eb; border-radius:10px; background:#fff; color:#91a3ab; }
.academy-stage-rail>div .material-symbols-outlined { font-size:17px; }
.academy-stage-rail>div small { font-size:8px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.academy-stage-rail>div.is-current { border-color:#5cc9d2; background:#e9f9fa; color:#12687b; box-shadow:inset 0 -2px 0 #35b9c7; }
.academy-stage-rail>div.is-done { border-color:#bbefd5; background:#f0fdf4; color:#158052; }
.academy-instruction.is-demo { border-color:#a8b9f3; background:#eef2ff; color:#283b79; }
.academy-instruction.is-demo>.material-symbols-outlined { color:#4f63c8; }
.academy-feedback.is-demo,.academy-feedback.is-success { display:flex; }
.academy-feedback.is-demo { background:#eef2ff; color:#394c91; }
.academy-feedback.is-success { background:#f0fdf4; color:#166534; }
.academy-actions button:disabled { cursor:wait; opacity:.48; }
.academy-complete-mark.is-demo { background:#eef2ff; color:#4f63c8; }
.academy-conversation { padding:0 17px 17px; border-top:1px solid #dbe9ed; }
.academy-chat-toggle { display:grid; grid-template-columns:22px 1fr 20px; align-items:center; gap:7px; width:100%; margin-top:10px; padding:8px 9px; border:0; border-radius:10px; background:#edf6f7; color:#31515f; text-align:left; font:750 11px/1 inherit; cursor:pointer; }
.academy-chat-toggle .material-symbols-outlined { font-size:17px; }
.academy-chat-toggle .material-symbols-outlined:last-child { transition:transform .18s ease; }
.academy-chat-content { display:none; }
#diotrix-academy-panel.is-chat-open .academy-chat-content { display:block; }
#diotrix-academy-panel.is-chat-open .academy-chat-toggle .material-symbols-outlined:last-child { transform:rotate(180deg); }
.academy-chat-log { display:grid; gap:7px; max-height:190px; margin-top:12px; padding:2px; overflow:auto; scrollbar-width:thin; }
.academy-chat-message { max-width:91%; padding:9px 11px; border-radius:13px; font-size:12px; line-height:1.45; white-space:pre-wrap; }
.academy-chat-message.is-teacher { justify-self:start; border-radius:13px 13px 13px 4px; background:#e8f5f7; color:#31515f; }
.academy-chat-message.is-user { justify-self:end; border-radius:13px 13px 4px 13px; background:#176b87; color:white; }
.academy-answer { min-height:18px; margin:7px 2px; color:#58717e; font-size:10px; line-height:1.3; }
.academy-answer.is-thinking { animation:academy-answer-pulse 1s ease-in-out infinite alternate; }
.academy-question-form { display:grid; grid-template-columns:1fr 38px 38px; gap:6px; }
.academy-question-form input { min-width:0; height:38px; padding:0 11px; border:1px solid #c9dce2; border-radius:11px; background:white; color:var(--academy-ink); font:500 12px/1 inherit; outline:none; }
.academy-question-form input:focus { border-color:var(--academy-cyan); box-shadow:0 0 0 3px rgba(53,185,199,.14); }
.academy-question-form button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:0; border-radius:11px; background:#176b87; color:white; cursor:pointer; }
.academy-question-form button[data-academy-mic] { background:#dff1f3; color:#176b87; }
.academy-question-form button.is-listening { color:white; background:#dc2626; animation:academy-answer-pulse .65s ease-in-out infinite alternate; }
.academy-question-form .material-symbols-outlined { font-size:19px; }
#diotrix-academy-panel.is-minimized { width:245px; max-height:58px; overflow:hidden; border-radius:16px; cursor:pointer; }
#diotrix-academy-panel.is-minimized .academy-panel-head { padding:10px 12px; cursor:pointer; }
#diotrix-academy-panel.is-minimized .academy-panel-kicker { margin:0; }
#diotrix-academy-panel.is-minimized .academy-panel-head h3 { display:none; }
#diotrix-academy-panel.is-minimized .academy-panel-head p,
#diotrix-academy-panel.is-minimized .academy-progress,
#diotrix-academy-panel.is-minimized .academy-panel-body,
#diotrix-academy-panel.is-minimized .academy-conversation { display:none; }
.diotrix-academy-target { position:relative!important; z-index:4!important; outline:4px solid var(--academy-amber)!important; outline-offset:5px!important; border-radius:10px; animation:academy-target-pulse 1.7s ease-in-out infinite; }
#academy-step-toast { position:fixed; left:50%; top:82px; z-index:1001400; display:flex; align-items:center; gap:10px; min-width:210px; padding:10px 16px; border:1px solid #86efac; border-radius:16px; background:#f0fdf4; color:#166534; box-shadow:0 14px 35px rgba(22,101,52,.2); opacity:0; pointer-events:none; transform:translate(-50%,-12px); transition:.2s ease; }
#academy-step-toast.is-visible { opacity:1; transform:translate(-50%,0); }
#academy-step-toast .material-symbols-outlined { font-size:25px; }
#academy-step-toast span { display:grid; }
#academy-step-toast small { color:#4b7157; font-size:11px; }
.academy-complete-mark { display:grid; place-items:center; width:54px; height:54px; margin:2px 0 12px; border-radius:50%; background:#d9f9e8; color:#07844a; }
.academy-complete-mark .material-symbols-outlined { font-size:32px; }
@keyframes academy-target-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.28)} 50%{box-shadow:0 0 0 12px rgba(245,158,11,0)} }
@keyframes academy-answer-pulse { from{opacity:.58} to{opacity:1} }
@media(max-width:700px){#diotrix-academy-bar{bottom:8px;justify-content:flex-start;padding-right:68px;font-size:10px}#diotrix-academy-panel{right:10px!important;left:auto!important;top:56px!important;width:calc(100vw - 20px);max-height:46vh;border-radius:18px}.academy-panel-head{cursor:default}.academy-panel-body{padding:13px 15px 14px}.academy-conversation{padding:0 15px 14px}.academy-sales-grid{grid-template-columns:1fr}#diotrix-academy-panel.is-minimized{top:auto!important;bottom:55px!important;width:210px}}
@media(prefers-reduced-motion:reduce){.diotrix-academy-target{animation:none}#diotrix-academy-panel,.academy-progress>span{transition:none}}
