@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#28334c;background:#eff2fb;font-synthesis:none;--ink:#28334c;--muted:#7a849c;--violet:#8272e9;--blue:#6a9eea;--cyan:#67caca;--line:#edf0f6;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 0 0,#e4dbff88,transparent 35%),radial-gradient(ellipse at 100% 20%,#d3f3f4aa,transparent 40%),radial-gradient(ellipse at 0 100%,#ffe6db55,transparent 35%);padding:30px 28px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}a{color:inherit;text-decoration:none}button{color:inherit}button,select{transition:background .18s,box-shadow .18s,transform .18s}button:not(:disabled):hover{transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #8d80ee66}svg{display:block}button svg,.privacy svg,.access-note svg{width:17px;height:17px}h1,h2,h3,p{margin:0}h1,h2,h3,.metric-value{font-family:'Manrope',sans-serif}h2{font-size:16px;letter-spacing:-.35px}p{line-height:1.6}.workspace{max-width:1440px;margin:auto;background:#ffffffeb;border:1px solid #fff;border-radius:22px;box-shadow:0 16px 70px #656f9710,0 3px 5px #6a759808;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:21px 34px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:9px;font-size:27px;font-weight:800;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:linear-gradient(140deg,#92b8f2,#9b81eb);color:#fff;font-size:37px;line-height:1}.brand-divider{height:20px;border-left:1px solid #e3e6ef;margin-left:8px}.brand-caption{font-size:12px;font-weight:500;color:#8a91a5;letter-spacing:0;max-width:90px;line-height:1.4}.topbar nav{display:flex;gap:7px;background:#f7f8fc;padding:4px;border-radius:10px}.nav-btn{padding:9px 16px;border:0;background:transparent;font-size:13px;border-radius:7px;color:#7a8296}.nav-btn.active{color:#6f62d5;background:white;box-shadow:0 2px 7px #4755780b;font-weight:650}.workspace-label{display:flex;align-items:center;gap:9px;color:#6f7890;font-size:12px}.mini-mark{background:#f0edfc;color:#9684d5;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700}main{padding:34px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#8490a7;display:flex;align-items:center;gap:7px}.eyebrow>span{width:6px;height:6px;background:#78c9bd;border-radius:2px}h1{font-size:clamp(24px,2.8vw,36px);font-weight:750;letter-spacing:-1.3px;margin:8px 0}h1>span{color:#9a89e9}.heading p{font-size:14px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border-radius:9px;font-size:13px;font-weight:600;border:1px solid transparent;white-space:nowrap}.primary{background:#8070e5;color:white;box-shadow:0 4px 10px #8170e523}.primary:hover{background:#7262d5;box-shadow:0 5px 17px #8170e538}.secondary{background:#fff;border-color:#e6e9f2;color:#69758e}.secondary:hover{background:#f9f8ff}.upload-zone{display:flex;align-items:center;gap:20px;padding:27px;margin:0 0 25px;border:1px dashed #c9c7ed;border-radius:14px;background:linear-gradient(110deg,#f7f5ff,#f5fbfe);cursor:pointer}.upload-zone.dragover{background:#eee9ff;border-color:#8572e8}.upload-zone h2{font-size:18px;margin-bottom:3px}.upload-zone p{font-size:14px;color:#818aa1}.upload-zone p span{color:#7d6fd4}.upload-zone small{display:block;margin-top:6px;font-size:12px;color:#9299ac}.upload-zone .button{margin-left:auto}.upload-symbol{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;background:white;box-shadow:0 3px 12px #8680ac12;border-radius:15px;color:#9483e5}.upload-symbol svg{width:24px;height:24px}.source-bar{display:flex;align-items:center;gap:9px;font-size:12px;color:#7e879b;margin:-8px 0 23px;flex-wrap:wrap}.source-bar .file-pill{display:inline-flex;align-items:center;gap:7px;background:#f4f6fa;padding:7px 10px;border-radius:6px;color:#637089}.source-bar .file-pill svg{width:14px}.text-btn{border:0;background:none;padding:2px;color:#7c6bd5;font-size:12px;text-decoration:underline;text-underline-offset:3px}.demo-tag{color:#a26e22;background:#fff5df;padding:5px 8px;border-radius:5px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.metric{position:relative;padding:20px 21px 19px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(125deg,#fff,#fbfcff);overflow:hidden;animation:enter .6s var(--ease) both}.metric:nth-child(2){animation-delay:.07s}.metric:nth-child(3){animation-delay:.14s}.metric:nth-child(4){animation-delay:.21s}.metric-heading{display:flex;gap:8px;align-items:center;font-size:13px;color:#778199;font-weight:500}.metric-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px}.metric-icon svg{width:15px;height:15px}.blue{background:#edf5ff;color:#7da6e5}.purple{background:#f0edfe;color:#9c86e7}.cyan{background:#eaf9f8;color:#63bdb9}.peach{background:#fff1e9;color:#e8b38e}.metric-value{font-size:35px;letter-spacing:-1.3px;font-weight:800;margin:11px 0 5px;position:relative;z-index:1}.metric-foot{font-size:11px;color:#9098ac;position:relative;z-index:1;max-width:210px;line-height:1.5}.metric-accent{position:absolute;right:0;bottom:0;width:115px;height:40px;opacity:.27;fill:none;stroke:#8ab2ed;stroke-width:2}.cyan-stroke{stroke:#6cccc0}.metric-decoration{position:absolute;right:21px;bottom:30px;color:#ecd5bc;font-size:47px;opacity:.6}.mini-progress{position:absolute;left:21px;right:21px;bottom:9px;height:3px;background:#f0edf9;border-radius:3px}.mini-progress i{display:block;width:0;min-width:0;background:#b2a1ef;height:100%;transition:width .8s var(--ease)}.charts-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;margin-bottom:24px}.panel{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 8px #3c527403;animation:enter .7s var(--ease) both}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:22px 24px 0}.panel-heading p{font-size:12px;color:#939aae;margin-top:5px}.small-chip{font-size:10px;color:#8893a7;background:#f8f9fc;border:1px solid #edf0f5;border-radius:6px;padding:5px 8px;white-space:nowrap}.distribution{height:180px;padding:20px 28px 0;display:flex;align-items:stretch;gap:18px;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#f3f5f9 44px,transparent 45px);background-clip:content-box}.chart-column{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;min-width:0;position:relative}.bar-track{height:110px;width:100%;max-width:70px;display:flex;align-items:flex-end;position:relative}.chart-bar{width:100%;height:var(--height);min-height:2px;background:linear-gradient(0deg,var(--bar),color-mix(in srgb,var(--bar),white 38%));border-radius:6px 6px 2px 2px;transform-origin:bottom;animation:grow .8s var(--ease) both}.bar-value{font-size:12px;font-weight:650;margin-bottom:6px;color:#6c7790}.bar-label{font-size:11px;color:#8d96aa;margin-top:10px;white-space:nowrap}.chart-caption{padding:15px 24px 20px;font-size:11px;color:#939caf;display:flex;align-items:center;gap:7px}.chart-caption>span:last-child{margin-left:auto}.legend-dot{display:inline-block;height:7px;width:7px;border-radius:50%;flex-shrink:0}.purple-dot{background:#b19aeb}.icon-muted{color:#b5bbcf}.icon-muted svg{width:20px}.access-body{display:flex;align-items:center;justify-content:center;gap:30px;padding:28px 24px 18px}.donut{width:135px;height:135px;border-radius:50%;background:conic-gradient(#7accce 0deg,#edf1f8 0deg);display:grid;place-items:center;position:relative;flex-shrink:0;animation:enter .9s var(--ease)}.donut:before{content:'';position:absolute;inset:14px;border-radius:50%;background:white}.donut>div{position:relative;text-align:center}.donut strong{font-family:'Manrope',sans-serif;font-size:25px;letter-spacing:-1px;display:block}.donut span{font-size:10px;color:#8e98ad;display:block;margin-top:2px}.access-legend{display:grid;gap:13px;flex:1;max-width:180px}.legend-row{font-size:12px;display:flex;gap:7px;align-items:center;color:#8390a4}.legend-row strong{margin-left:auto;color:#58657e;font-weight:600}.access-note{margin:0 22px 20px;padding-top:12px;border-top:1px solid #f2f4f8;display:flex;gap:7px;align-items:center;font-size:10px;color:#9ba3b5}.access-note svg{width:13px;flex-shrink:0}.students-heading{align-items:center}.students-heading h2{display:flex;align-items:center;gap:9px}.count-badge{font:500 11px 'DM Sans',sans-serif;color:#8f7ed0;background:#f2eefe;padding:3px 7px;border-radius:5px}.table-controls{padding:23px 24px 18px;display:flex;justify-content:space-between;gap:15px}.search-field{position:relative;display:flex;align-items:center;width:330px}.search-field>span{position:absolute;left:12px;color:#a1aabd}.search-field svg{height:16px;width:16px}.search-field input{width:100%;padding:11px 12px 11px 37px;border:1px solid #e9edf4;border-radius:8px;background:#fcfdff;font-size:12px;color:var(--ink)}input::placeholder{color:#a1aabd}.filters{display:flex;gap:9px;min-width:0}select{font-size:12px;color:#7b859a;background:#fff;border:1px solid #e8ecf3;border-radius:8px;padding:10px 30px 10px 12px;max-width:250px;cursor:pointer}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#fafbfe;padding:13px 24px;font-size:11px;font-weight:550;color:#8993a9;white-space:nowrap;border-block:1px solid #f0f2f7}th button{border:0;background:none;padding:0;color:inherit;font:inherit}th button span{margin-left:8px;color:#b1b7c5}td{padding:16px 24px;border-bottom:1px solid #f1f3f8;font-size:12px}tbody tr{transition:background .18s}tbody tr:hover{background:#fcfbff}tbody tr:last-child td{border-bottom:0}.student-info{display:flex;align-items:center;gap:11px;min-width:200px}.avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:#eaf2fd;color:#7e9ac2;border-radius:10px;font-size:11px;font-weight:700}.avatar.tone-1{background:#f3eefa;color:#a38bb9}.avatar.tone-2{background:#e8f6f2;color:#76a59b}.avatar.tone-3{background:#fff2e8;color:#c09a7a}.student-name{display:block;border:0;background:none;padding:0;text-align:left;font-size:12px;font-weight:600;color:#4b5771;max-width:330px;white-space:normal}.student-email{display:block;margin-top:4px;font-size:11px;color:#939db1;overflow-wrap:anywhere}.course-tag{font-size:10px;font-weight:500;color:#8d84b1;display:inline-block;max-width:190px;line-height:1.5}.progress-cell{min-width:150px}.progress-line{display:flex;align-items:center;gap:13px}.progress-track{height:5px;background:#f0f0f7;border-radius:5px;flex:1;min-width:55px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#a4b6f0,#a699e7);width:var(--progress);animation:grow-x .7s var(--ease)}.progress-line strong{min-width:50px;font-size:12px;font-weight:600;text-align:right;color:#6f7390}.progress-state{display:block;font-size:10px;color:#a1a9ba;margin-top:6px}.date-cell{color:#8d97ac;font-size:11px;white-space:nowrap}.row-open{border:1px solid #eceef5;background:white;width:28px;height:28px;border-radius:7px;color:#a5a4bb;display:grid;place-items:center;font-size:16px}.table-footer{padding:16px 24px;border-top:1px solid #edf0f6;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#969fb2}.pagination{display:flex;gap:13px;align-items:center}.pagination button{width:27px;height:27px;border:1px solid #e9edf4;border-radius:6px;background:white;color:#8c93aa;font-size:18px}.empty-cell{text-align:center;padding:42px;color:#98a0b2;font-size:14px}.empty-cell svg{margin:0 auto 10px;width:27px;color:#c1c5d9}footer{display:flex;align-items:center;justify-content:space-between;padding:27px 0 0;color:#a0a9ba;font-size:10px;gap:16px}.footer-brand{font-size:15px;letter-spacing:-.4px;color:#929bb0}.footer-brand>span{font-size:10px;letter-spacing:0;margin-left:13px}.privacy{display:flex;align-items:center;gap:6px}.privacy svg{height:13px;width:13px}.dialog{color:var(--ink);border:1px solid #e8eaf4;border-radius:18px;padding:30px;max-width:min(620px,calc(100vw - 32px));width:100%;box-shadow:0 30px 100px #25354c26;max-height:90vh;overflow:auto}.dialog[open]{animation:enter .3s var(--ease)}.dialog::backdrop{background:#29354b45;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog h2{font-size:23px;margin-top:5px}.icon-button{background:#f5f6fa;border:0;border-radius:8px;height:32px;width:32px;font-size:23px;color:#8c93a6;flex-shrink:0}.dialog p{font-size:14px;color:#828ba1}.mapping-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#66738a}.field select{width:100%;max-width:none}.dialog .helper{font-size:12px;background:#f7f8fc;padding:12px;border-radius:8px;margin-top:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.error-text{color:#bd5462!important;font-size:12px!important;margin-top:10px}.student-dialog{max-width:min(650px,calc(100vw - 32px))}.profile-heading{display:flex;align-items:center;gap:15px}.profile-heading .avatar{width:53px;height:53px;font-size:17px;border-radius:15px}.profile-heading h2{font-size:21px}.profile-email{overflow-wrap:anywhere;font-size:13px!important}.report-course{margin-top:22px;border:1px solid #eceef6;border-radius:12px;padding:20px}.report-course-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}.report-course h3{font-size:13px;max-width:75%;line-height:1.5}.report-percent{font-size:26px;font-weight:700;letter-spacing:-1px;color:#9280d9}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:21px}.report-meta dt{color:#969eb1;font-size:11px;margin-bottom:5px}.report-meta dd{margin:0;font-size:12px;color:#647089;overflow-wrap:anywhere}.report-rule{font-size:11px!important;margin-top:13px;color:#98a0b1!important}.method-dialog h3{font-size:14px;margin:20px 0 8px}.method-dialog li{font-size:13px;color:#7a859b;line-height:1.7;margin-bottom:9px}.method-dialog ul{padding-left:20px}.audit-summary{background:#f8f8fd;border-radius:10px;padding:15px;margin:18px 0;font-size:13px;line-height:1.9;color:#768199}.audit-issues{max-height:180px;overflow:auto}.issue-row{font-size:12px;padding:9px 0;border-bottom:1px solid var(--line);color:#7d859b}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#38425b;color:white;font-size:13px;padding:13px 20px;border-radius:10px;box-shadow:0 7px 25px #25314a30;z-index:20;max-width:90vw}#print-report{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap} [hidden]{display:none!important}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes grow-x{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@media(min-width:1500px){body{padding-top:48px}}@media(max-width:1100px){.brand-caption,.brand-divider,.workspace-label{display:none}.summary-grid{gap:12px}.metric{padding:18px 15px}.metric-heading{font-size:12px}.metric-foot{font-size:10px}.charts-grid{grid-template-columns:1.3fr 1fr}.access-body{gap:15px;padding-inline:18px}.donut{width:115px;height:115px}.legend-row{font-size:11px}.table-controls{flex-wrap:wrap}.search-field{width:100%;max-width:350px}td,th{padding-inline:17px}}
@media(max-width:760px){body{padding:12px}.workspace{border-radius:15px}.topbar{padding:16px 18px;gap:10px;flex-wrap:wrap}.brand{font-size:24px}.topbar nav{margin-left:auto}.nav-btn{font-size:11px;padding:8px 10px}main{padding:24px 18px}.heading{align-items:flex-start;gap:13px;flex-wrap:wrap;margin-bottom:23px}h1{font-size:29px;letter-spacing:-1.2px}.heading p{font-size:13px}.heading .button{font-size:12px}.eyebrow{font-size:9px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:12px}.metric-value{font-size:30px}.metric-foot{font-size:11px}.metric{min-height:151px}.metric-heading{font-size:12px}.charts-grid{grid-template-columns:1fr;gap:16px}.panel-heading{padding:20px 18px 0}.distribution{padding-inline:22px;gap:12px}.chart-caption{padding-inline:18px;font-size:10px}.access-body{justify-content:flex-start;padding:22px 30px;gap:35px}.donut{width:135px;height:135px}.access-legend{max-width:none}.legend-row{font-size:13px}.access-note{font-size:11px}.upload-zone{padding:22px 17px;gap:12px;flex-wrap:wrap}.upload-symbol{width:42px;height:42px}.upload-zone h2{font-size:15px}.upload-zone p{font-size:12px}.upload-zone small{font-size:10px}.upload-zone .button{margin:7px 0 0 54px}.students-heading{flex-wrap:wrap}.students-heading .button{font-size:11px}.table-controls{padding-inline:18px;gap:10px}.search-field{max-width:none}.filters{width:100%}.filters select{width:50%;max-width:none;font-size:11px}.table-scroll{max-width:100%}table{min-width:750px}.table-footer{padding-inline:18px}.table-footer>span{max-width:70%;line-height:1.5}.footer-brand>span{display:none}footer{font-size:9px;flex-wrap:wrap}.mapping-fields{grid-template-columns:1fr}.dialog{padding:24px}.report-meta{grid-template-columns:1fr}.report-course{padding:16px}.report-course-head{align-items:flex-start}.profile-heading h2{font-size:18px}.student-dialog .dialog-actions{flex-wrap:wrap}.dialog .button{font-size:12px}}
.table-scroll{position:relative}.metric-accent{display:none}.metric-heading{font-size:14px}.metric-foot{font-size:12px;color:#7d879c}.metric{min-height:165px}.panel-heading p{font-size:13px;color:#7d889e}.student-name{font-size:14px}.student-email{font-size:12px;color:#78859b}.course-tag{font-size:12px}.date-cell{font-size:12px;color:#77859d}.progress-state{font-size:11px;color:#808ba0}.bar-label{font-size:12px;color:#77849a}.legend-row{font-size:13px;color:#748097}.chart-caption{font-size:12px;color:#7e889d}.access-note{font-size:11px;color:#7c879c}.table-footer{font-size:12px;color:#7e899e}.source-bar{color:#79859a}.metric-value{margin-bottom:7px}.file-pill{overflow-wrap:anywhere;max-width:100%}
@media(max-width:760px){.metric-heading{font-size:12px;align-items:flex-start}.metric-foot{font-size:11px}.metric{min-height:167px}.small-chip{display:none}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px}.bar-label{white-space:normal;text-align:center;font-size:10px;min-height:28px;line-height:1.4}.chart-caption{font-size:10px;flex-wrap:wrap}.access-body{gap:20px;padding:22px 18px}.donut{width:120px;height:120px}.legend-row{font-size:11px}.table-scroll{overflow:visible}table{min-width:0;display:block}thead{display:none}tbody{display:block}tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 95px;position:relative;padding:18px;gap:8px;border-bottom:1px solid var(--line)}tbody tr:last-child{border-bottom:0}td{display:block;padding:0;border:0;min-width:0}td:first-child{grid-column:1/-1;padding-right:24px}.student-info{min-width:0;align-items:flex-start;gap:10px}.student-info>div{min-width:0}.student-name{font-size:14px;line-height:1.5}.student-email{font-size:12px;line-height:1.5}.student-info .avatar{width:31px;height:31px}.course-tag{font-size:11px;padding-left:41px;max-width:none}.progress-cell{grid-column:2;grid-row:2/4;min-width:0;align-self:center}.progress-line{gap:7px}.progress-track{min-width:22px}.progress-line strong{min-width:42px;font-size:12px}.progress-state{text-align:right;font-size:10px}.date-cell{grid-column:1;grid-row:3;font-size:10px;padding-left:41px;white-space:normal}.date-cell:before{content:'Acesso: ';color:#a2aabc}td:last-child{position:absolute;right:13px;top:18px}.row-open{width:24px;height:24px}.empty-cell{grid-column:1/-1;position:static!important;padding:25px 0!important}.table-footer{font-size:10px}.table-footer>span{max-width:65%}.report-course .progress-track{height:6px}.report-meta{gap:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html,body{background:white!important;padding:0}.workspace,.dialog,#toast{display:none!important}.dialog::backdrop{display:none!important}#print-report{display:block!important;color:#253148;padding:30px;font-family:Arial,sans-serif}#print-report h1{font-size:25px}#print-report h2{font-size:22px}#print-report p{font-size:12px;line-height:1.7}.report-course{break-inside:avoid;margin-top:20px}.print-brand{border-bottom:2px solid #9a89e9;margin-bottom:25px;padding-bottom:14px;font-size:18px;color:#8674dc}.report-meta{grid-template-columns:1fr 1fr}.print-foot{margin-top:25px;font-size:10px!important;color:#777}.progress-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-percent{color:#7466bb}@page{margin:15mm;size:A4}}
