/* Smart Academy 1.4.113 — catálogo, player das aulas, gestão de cursos e portal dos alunos externos.
   Mesmo vocabulário visual do Smart (platform.css): cartões brancos, linhas #ece9f2, roxo #794adb. */
/* the variables also on the modals of the platform (they open outside .ac) */
.ac,.cp-modal-backdrop{--ac-purple:var(--sm-violet,#6a3df0);--ac-purple-dark:var(--sm-title,#25136c);--ac-ink:var(--sm-ink,#1d1238);--ac-text:var(--sm-text,#4a3f66);--ac-muted:var(--sm-muted,#8a80a3);--ac-line:var(--sm-line,#ece7f4);--ac-soft:#f6f2fd;--ac-bg:#f7f8fc;--ac-ok:#3f9a72;--ac-ok-bg:#eaf8f1;--ac-warn:#a77d2c;--ac-warn-bg:#fcf4e4;--ac-bad:#b9506d;--ac-bad-bg:#fff5f7;}
.ac{color:var(--ac-text);font-size:13px;line-height:1.55}
.ac *{box-sizing:border-box}
.ac button{font:inherit;cursor:pointer}
.ac [hidden]{display:none!important}
.ac h2,.ac h3,.ac h4{color:var(--ac-ink);letter-spacing:-.2px}
.ac-tabs{margin:0 0 20px}  /* 1.4.113: abas = .sm-tabs (smart-ui.css) */
/* catalog */
.ac-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.ac-filter input{flex:1;min-width:200px;border:1px solid #e9e0f0;border-radius:9px;padding:10px 12px;font:inherit;font-size:12px;color:var(--ac-ink);background:#fff}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.ac-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ac-line);border-radius:16px;overflow:hidden;text-align:left;padding:0;transition:box-shadow .2s,transform .2s;color:inherit}
.ac-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #5f3e8014;border-color:#d8c8ef}
.ac-cover{aspect-ratio:16/9;background:linear-gradient(130deg,#7c4ee0,#c04fbf 60%,#ff8a5b);position:relative;overflow:hidden}
.ac-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ac-cover .ac-cover-title{position:absolute;inset:auto 16px 14px 16px;color:#fff;font-weight:700;font-size:17px;line-height:1.25;text-shadow:0 1px 8px #2a124a55}
.ac-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ac-card-body h3{margin:0;font-size:15px;line-height:1.35}
.ac-card-body p{margin:0;color:var(--ac-muted);font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ac-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--ac-muted)}
.ac-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#a08ab3;text-transform:uppercase}
.ac-progress{height:7px;border-radius:9px;background:#efe9f8;overflow:hidden}
.ac-progress>span{display:block;height:100%;background:var(--sm-line-gradient,linear-gradient(90deg,#8657e6,#c04fbf));border-radius:9px;transition:width .3s}
.ac-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px;font-size:11px;font-weight:600;color:var(--ac-purple-dark)}
.ac-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:7px;font-size:10px;font-weight:650;background:#f2eef9;color:#7d63a0;white-space:nowrap}
.ac-badge.ok{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-badge.warn{background:var(--ac-warn-bg);color:var(--ac-warn)}
.ac-badge.platform{background:#eef4ff;color:#3f67b5}
/* player */
.ac-player{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.ac-player-head{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ac-player-head h2{margin:0;font-size:20px;flex:1;min-width:200px}
.ac-back{border:1px solid #e9e3ef;background:#fff;color:#776088;border-radius:9px;padding:8px 12px;font-weight:600;font-size:11px}
.ac-outline{background:#fff;border:1px solid var(--ac-line);border-radius:16px;padding:14px;position:sticky;top:12px;max-height:calc(100vh - 140px);overflow-y:auto}
.ac-outline .ac-progress{margin:6px 4px 14px}
.ac-outline-head{display:flex;justify-content:space-between;font-size:11px;color:var(--ac-muted);padding:0 4px}
.ac-outline-head b{color:var(--ac-ink)}
.ac-section-title{font-size:10px;font-weight:700;letter-spacing:1px;color:#a593b5;text-transform:uppercase;margin:14px 6px 6px}
.ac-lesson-item{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:9px 8px;border-radius:10px;color:var(--ac-text)}
.ac-lesson-item:hover{background:var(--ac-soft)}
.ac-lesson-item[aria-current=true]{background:#efe8fb;color:var(--ac-purple-dark)}
.ac-lesson-item[disabled]{opacity:.55;cursor:not-allowed}
.ac-lesson-item b{display:block;font-size:12px;font-weight:600;line-height:1.35}
.ac-lesson-item small{display:block;font-size:10px;color:var(--ac-muted);margin-top:2px}
.ac-dot{flex:0 0 20px;width:20px;height:20px;border-radius:50%;border:2px solid #d8cbe8;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;margin-top:1px}
.ac-dot.started{border-color:var(--ac-purple)}
.ac-dot.done{background:var(--ac-ok);border-color:var(--ac-ok)}
.ac-dot.locked{border-style:dashed}
.ac-stage{background:#fff;border:1px solid var(--ac-line);border-radius:16px;padding:22px;min-width:0}
.ac-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.ac-stage-head h3{margin:3px 0 0;font-size:18px}
.ac-stage-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f1ecf5;flex-wrap:wrap}
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border:1px solid #e9e3ef;border-radius:9px;background:#fff;color:#776088;font-weight:600;font-size:12px;line-height:1.4;text-decoration:none}
.ac-btn:hover{background:#faf8ff;border-color:#d6c6ee}
.ac-btn.primary{background:var(--ac-purple);border-color:var(--ac-purple);color:#fff}
.ac-btn.primary:hover{filter:brightness(.94)}
.ac-btn.ok{background:var(--ac-ok-bg);border-color:#cfeadc;color:var(--ac-ok)}
.ac-btn:disabled{opacity:.55;cursor:not-allowed}
.ac-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1d1531}
.ac-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ac-notes{margin-top:14px;padding:14px 16px;background:#fbf9fe;border:1px solid #f0eaf6;border-radius:12px;white-space:pre-line;font-size:12px}
.ac-text{font-size:14px;line-height:1.75;color:#4a3d58;overflow-wrap:anywhere}
.ac-text img{max-width:100%;height:auto;border-radius:8px}
.ac-text h1,.ac-text h2,.ac-text h3{line-height:1.3;margin:22px 0 8px}
.ac-text table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}
.ac-text td,.ac-text th{border:1px solid var(--ac-line);padding:6px 9px}
.ac-slide{position:relative;aspect-ratio:16/9;background:#f3f0f8;border-radius:12px;overflow:hidden;border:1px solid var(--ac-line)}
.ac-slide img{width:100%;height:100%;object-fit:contain;display:block}
.ac-slide-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.ac-slide-bar .ac-count{font-size:12px;color:var(--ac-muted);font-weight:600}
.ac-narration{margin-top:12px;padding:14px 16px;border-radius:12px;background:#f7f3fe;border:1px solid #ece2fb;font-size:13px;line-height:1.7;color:#4f405f}
.ac-narration b{display:block;font-size:10px;letter-spacing:1px;color:#9d84b7;text-transform:uppercase;margin-bottom:4px}
.ac-chat{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding:4px 2px 10px}
.ac-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:13px;line-height:1.55;white-space:pre-line}
.ac-msg.tutor{background:#f4effc;border:1px solid #e9dff8;align-self:flex-start}
.ac-msg.student{background:var(--ac-purple);color:#fff;align-self:flex-end}
.ac-chat-form{display:flex;gap:8px;margin-top:10px}
.ac-chat-form textarea{flex:1;min-height:46px;max-height:140px;border:1px solid #e3d9ee;border-radius:11px;padding:11px;font:inherit;font-size:13px;resize:vertical;color:var(--ac-ink)}
.ac-goal{padding:12px 14px;border-radius:12px;background:#fbf9fe;border:1px dashed #e0d3ef;font-size:12px;margin-bottom:12px}
.ac-live{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:18px;border-radius:14px;background:linear-gradient(140deg,#f6f1fe,#fff);border:1px solid #ece2fb}
.ac-live .ac-when{font-size:20px;font-weight:700;color:var(--ac-ink)}
.ac-quiz{display:flex;flex-direction:column;gap:16px}
.ac-question{border:1px solid var(--ac-line);border-radius:13px;padding:15px 16px}
.ac-question>p{margin:0 0 10px;font-weight:650;color:var(--ac-ink)}
.ac-option{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent}
.ac-option:hover{background:var(--ac-soft)}
.ac-option input{margin-top:3px;accent-color:var(--ac-purple)}
.ac-option.right{background:var(--ac-ok-bg);border-color:#cfeadc}
.ac-option.wrong{background:var(--ac-bad-bg);border-color:#f2dbe4}
.ac-explain{font-size:12px;color:var(--ac-muted);margin-top:6px}
.ac-result{padding:14px 16px;border-radius:12px;font-weight:600}
.ac-result.ok{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-result.bad{background:var(--ac-bad-bg);color:var(--ac-bad)}
.ac-done-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:14px;background:linear-gradient(130deg,#eaf8f1,#f4fbf7);border:1px solid #cfeadc;color:#2f7d5b;margin-bottom:16px}
/* certificate */
.ac-cert{position:relative;background:#fffdf9;border:10px solid #fff;outline:2px solid #d9c9f0;border-radius:6px;padding:46px 40px;text-align:center;box-shadow:0 10px 40px #2d164a14;max-width:900px;margin:0 auto;color:#3b2d4a}
.ac-cert:before{content:"";position:absolute;inset:10px;border:1px solid #e9dcfb;pointer-events:none}
.ac-cert .ac-eyebrow{letter-spacing:3px}
.ac-cert h1{font-size:34px;margin:10px 0 4px;color:#4d2f8a;font-weight:700}
.ac-cert .ac-cert-name{font-size:28px;font-weight:700;color:#29213f;margin:22px 0 6px;border-bottom:1px solid #e3d6f5;display:inline-block;padding:0 24px 6px}
.ac-cert p{font-size:14px;margin:8px 0}
.ac-cert footer{display:flex;justify-content:space-between;gap:12px;margin-top:34px;font-size:11px;color:#8c7998;text-align:left;flex-wrap:wrap}
.ac-cert footer b{display:block;color:#4d2f8a;font-size:12px}
/* management */
.ac-table-wrap{background:#fff;border:1px solid var(--ac-line);border-radius:14px;overflow-x:auto}
.ac-table{width:100%;border-collapse:collapse;font-size:12px}
.ac-table th{background:#fcfbfe;color:#897494;font-size:10px;font-weight:600;letter-spacing:.3px;padding:12px 14px;text-align:left;border-bottom:1px solid #f0ebf5;white-space:nowrap}
.ac-table td{padding:13px 14px;border-bottom:1px solid #f3eff7;vertical-align:middle}
.ac-table tr:last-child td{border-bottom:0}
.ac-table td b{color:var(--ac-ink);font-weight:600}
.ac-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.ac-actions .ac-btn{padding:6px 10px;font-size:11px}
.ac-editor-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.ac-editor-head h2{margin:0;font-size:20px;flex:1;min-width:220px}
.ac-editor-head select{border:1px solid #e9e0f0;border-radius:9px;padding:8px 10px;font:inherit;font-size:12px;background:#fff;color:var(--ac-ink);min-height:38px}
.ac-editor-head label.ac-inline{font-size:12px;color:var(--ac-muted);font-weight:600}
.ac-lessons{display:flex;flex-direction:column;gap:8px}
.ac-lesson-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ac-line);border-radius:12px;padding:11px 13px}
.ac-lesson-row .ac-kind{flex:0 0 34px;height:34px;border-radius:10px;background:var(--ac-soft);color:var(--ac-purple);display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.ac-lesson-row>div{flex:1;min-width:0}
.ac-lesson-row b{display:block;color:var(--ac-ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-lesson-row small{color:var(--ac-muted);font-size:11px}
.ac-rte-bar{display:flex;gap:4px;flex-wrap:wrap;padding:6px;border:1px solid #e9e0f0;border-bottom:0;border-radius:8px 8px 0 0;background:#fbf9fd}
.ac-rte-bar button{border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 8px;font-size:12px;color:#6b5479}
.ac-rte-bar button:hover{background:#fff;border-color:#e9e0f0}
.ac-rte{min-height:220px;max-height:420px;overflow-y:auto;border:1px solid #e9e0f0;border-radius:0 0 8px 8px;padding:12px;font-size:13px;line-height:1.65;color:#4a3d58;background:#fff}
.ac-rte:focus{outline:3px solid #beabed}
.ac-slide-edit{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid #f0eaf5;border-radius:10px}
.ac-slide-edit img{width:150px;aspect-ratio:16/9;object-fit:contain;background:#f3f0f8;border-radius:7px}
.ac-slide-edit textarea{min-height:84px}
.ac-q-edit{border:1px solid #eee6f4;border-radius:11px;padding:13px;display:flex;flex-direction:column;gap:9px}
.ac-q-edit .ac-opt{display:flex;gap:8px;align-items:center}
.ac-q-edit .ac-opt input[type=text]{flex:1}
.ac-q-edit .ac-opt input[type=radio]{accent-color:var(--ac-ok);width:16px;height:16px;flex:0 0 16px;min-height:0}
.ac-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ac-copy{display:flex;gap:8px}
.ac-copy input{flex:1;font-size:11px!important}
.ac-help{font-size:11px;color:var(--ac-muted);line-height:1.6;margin:0}
@media (max-width:900px){.ac-player{grid-template-columns:1fr}.ac-outline{position:static;max-height:none}}
@media (max-width:600px){.ac-stage{padding:16px}.ac-slide-edit{grid-template-columns:1fr}.ac-slide-edit img{width:100%}.ac-msg{max-width:92%}.ac-cert{padding:28px 18px}.ac-cert h1{font-size:26px}.ac-cert .ac-cert-name{font-size:22px}}
@media print{body *{visibility:hidden!important}.ac-cert,.ac-cert *{visibility:visible!important}.ac-cert{position:absolute;left:0;top:0;width:100%;box-shadow:none;margin:0}}
