:root{font-family:Arial,sans-serif;color:#202b36;background:#f4f6f8;letter-spacing:0}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,.primary-link{cursor:pointer;border:1px solid #bac4cd;border-radius:6px;padding:10px 16px;background:#fff;color:#202b36}button:disabled{cursor:wait;opacity:.6}a{color:#075bbb}:focus-visible{outline:3px solid #1289da;outline-offset:3px}.account-header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 5%;background:#fff;border-bottom:1px solid #dbe1e7;min-height:76px}.account-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}.account-header img{width:110px;height:52px;object-fit:contain}#identity{margin-left:auto;overflow-wrap:anywhere}#account-main{max-width:1140px;padding:32px 24px;margin:auto}h1{font-size:28px;margin:0 0 24px}.account-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.account-title h1{margin:0}h2{font-size:20px;margin:0 0 20px}.login{max-width:370px;margin:50px auto}form{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.login form{display:grid}.login-card-actions{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.login-card-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.login-card-preview article{display:flex;align-items:center;gap:12px;border:1px dashed #83b1c2;border-radius:12px;background:#f1fbff;padding:12px}.login-card-preview img{width:110px;height:110px}.login-card-preview article div{display:grid;gap:6px;overflow-wrap:anywhere;min-width:0}body.login-view{overflow:hidden;background:#eafaff}.login-view .account-header,.login-view footer{display:none}.login-view #account-main{max-width:none;margin:0;padding:0}.login-view .login{position:fixed;top:50%;left:50%;width:max(100vw,177.69dvh);height:max(100dvh,56.28vw);max-width:none;margin:0;background:url(/assets/usuario-login-CtTplKwB.webp) center / 100% 100% no-repeat;transform:translate(-50%,-50%)}.login-view .login h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.login-view .login form{position:absolute;inset:0;display:block}.login-view .login form:before{content:"";position:absolute;left:50%;top:63.33%;width:14.64%;height:4.69%;background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ09OVFJBU0XDkUEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4MS4wMiA1MC41OSI+PHRleHQgdGV4dExlbmd0aD0iMjgxLjAyIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMzkuMjEpIiBmb250LXNpemU9IjQyIiBmaWxsPSIjMDg3OGM0IiBmb250LWZhbWlseT0iUm9ib3RvLUJsYWNrLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXdlaWdodD0iODAwIj5DT05UUkFTRcORQTo8L3RleHQ+PC9zdmc+) center / contain no-repeat;transform:translate(-50%);pointer-events:none}.login-view .login label{position:absolute;left:35.35%;top:51.85%;width:29.3%;height:7.95%;display:block;font-size:0}.login-view .login label:nth-of-type(2){top:68.85%}.login-view .login input{width:100%;height:100%;min-height:0;padding:0 5%;border:.25vw solid #08dbf7;border-radius:1.45vw;background:#fff;color:#075b83;font-size:clamp(18px,2vw,34px);font-weight:700}.login-view .login .primary{position:absolute;left:35.35%;top:81.8%;width:29.3%;height:7.6%;padding:0;border:0;border-radius:1.45vw;background:transparent;color:transparent;font-size:clamp(18px,2vw,34px);font-weight:800;text-transform:uppercase}.login-view .login .primary:hover{background:#ffffff1f}.login-view .login #message{position:absolute;top:90.5%;left:50%;width:min(90vw,620px);margin:0;padding:6px 14px;border-radius:999px;background:#ffffffe6;text-align:center;transform:translate(-50%)}.login-view .login #message:empty{display:none}.login-view :focus-visible{outline-color:#f6b800}label{display:grid;gap:8px;font-size:14px;font-weight:600;min-width:0}input,select{width:100%;max-width:100%;min-height:42px;border:1px solid #9baab7;border-radius:5px;padding:8px 10px;background:#fff;color:#202b36}input[type=checkbox]{width:20px;min-height:20px;accent-color:#087d67}#teachers,#assigned-teachers{display:grid;gap:10px}#teachers label,#assigned-teachers label{display:flex;align-items:center;gap:8px}#class-form fieldset,#class-teachers-form fieldset{min-width:0;border:1px solid #d8e0e6;border-radius:5px;padding:12px}.primary,.primary-link{background:#0867c9;color:#fff;border-color:#0867c9;text-decoration:none;display:inline-block}.section{border-top:1px solid #d8e0e6;padding-top:24px;margin-top:28px}.error{color:#a12432;min-height:22px;overflow-wrap:anywhere}.notice{color:#495969}.table-scroll{overflow-x:auto}.import-file{margin-top:20px;max-width:560px}.import-scroll{max-height:400px;background:#fff;border:1px solid #dbe1e7;border-radius:6px}.import-scroll th{position:sticky;top:0;background:#eef1f4}.import-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}#bulk-import{margin-bottom:28px}#bulk-import>summary{font-size:20px;font-weight:700}.progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}.progress-heading h3{margin:0;font-size:18px}.progress-heading p{font-size:13px;color:#53616d;margin:0}.progress-legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:13px;color:#53616d}.progress-legend>span{display:inline-flex;align-items:center;gap:8px}.progress-scroll{max-height:65vh;border:1px solid #cdd5dc;border-radius:8px;background:#fff;scrollbar-color:#8e9caa #eef1f4}.progress-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.progress-matrix th,.progress-matrix td{min-width:54px;padding:12px 10px;text-align:center;border-right:1px solid #dbe1e7}.progress-matrix thead th{position:sticky;top:0;z-index:2;background:#eaf3fb;color:#174d7c;height:48px}.progress-matrix thead th.column-locked{background:#eef1f4;color:#697680}.progress-matrix tbody tr:nth-child(2n){background:#f7f9fb}.progress-matrix tr>:first-child{position:sticky;left:0;z-index:1;width:220px;min-width:220px;max-width:220px;text-align:left;background:#fff;box-shadow:3px 0 5px #202b3610}.progress-matrix thead tr>:first-child{z-index:3;background:#eef1f4}.progress-matrix tbody tr:nth-child(2n)>:first-child{background:#f7f9fb}.progress-matrix small{display:block;font-size:11px;line-height:1.6;font-weight:400;color:#607080}.progress-matrix .student-name{padding:0;border:0;border-radius:0;background:none;color:#202b36;font-weight:600;white-space:normal;overflow-wrap:anywhere;text-align:left;margin-bottom:4px}.progress-matrix .student-name:hover{color:#0867c9;text-decoration:underline}.progress-dot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;vertical-align:middle;font:700 15px Arial,sans-serif}.progress-dot.done{color:#fff;background:#218739}.progress-dot.pending{border:2px solid #a8b5c0;background:#fff}.progress-dot.locked{color:#84929f;background:#e8edf1}@media(max-width:600px){.progress-matrix tr>:first-child{width:160px;min-width:160px;max-width:160px}}table{width:100%;min-width:650px;border-collapse:collapse;font-size:14px}th,td{padding:14px 10px;text-align:left;border-bottom:1px solid #dbe1e7}th{color:#53616d;font-weight:600}td{overflow-wrap:anywhere}td button{white-space:nowrap}.success{color:#08735e;min-height:22px}summary{cursor:pointer;padding:8px 0}.tag{color:#08735e;font-weight:600}.challenge-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:24px 0;padding:0;list-style:none}.challenge-list a,.challenge-list span{display:grid;align-content:center;gap:8px;text-align:center;min-height:76px;padding:12px;border:1px solid #bac8d3;border-radius:6px;background:#fff;text-decoration:none}.challenge-list .locked{color:#697680;background:#e9edf1}.challenge-list .done{border-color:#087d67;color:#08735e}.access-block{padding:48px 24px;max-width:640px;margin:auto;font:18px Arial,sans-serif}.access-block h1{font-size:24px}@media(max-width:600px){#account-main{padding:24px 16px}h1{font-size:24px}form:not(.login form)>label{width:100%}.login{margin-top:32px}.account-header{padding:10px 16px}}.progress-matrix .progress-dot.done{width:auto;min-width:28px;padding:0 4px;white-space:nowrap;color:#805200;background:#fff7d6;font-size:14px}#history table{width:100%;border-collapse:collapse}#history th,#history td{padding:10px;text-align:left;border-bottom:1px solid #dbe3eb;white-space:nowrap}#ratings-summary table{width:100%;border-collapse:collapse}#ratings-summary th,#ratings-summary td{padding:10px;text-align:left;border-bottom:1px solid #dbe3eb}.ratings-detail{margin-top:16px}.ratings-detail summary{cursor:pointer;font-weight:700;padding:8px 0}.login-bars{list-style:none;padding:0;display:grid;gap:16px}.login-bars li{display:grid;gap:6px}.login-bars meter{width:100%;height:24px}.progress-matrix .last-login{min-width:180px;white-space:normal}.staff-dashboard{background:#f1f5f9;color:#20314b}.staff-dashboard #account-main{max-width:1580px;padding:24px}.staff-dashboard .account-header{min-height:68px;box-shadow:0 1px 12px #172b4d06}.dashboard-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.dashboard-sidebar{position:sticky;top:24px;padding:24px 14px 16px;background:#122840;color:#fff;border-radius:22px;min-height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column;box-shadow:0 12px 28px #16334e12}.dashboard-brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px;font-size:22px;font-weight:750}.dashboard-brand>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#102c43;background:#67e2d0;font-size:17px}.dashboard-brand small,.dashboard-user small{display:block;font-size:11px;font-weight:400;color:#b3c6d9;margin-top:5px}.dashboard-sidebar nav{display:grid;gap:7px}.dashboard-sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:12px;background:transparent;color:#c9d8e7;padding:14px 12px;font-size:14px}.dashboard-sidebar nav button>span{width:24px;font-size:21px;text-align:center}.dashboard-sidebar nav button:hover{background:#ffffff0d;color:#fff}.dashboard-sidebar nav button[aria-current]{background:#67e2d0;color:#102c43;font-weight:700}.dashboard-user{display:flex;align-items:center;gap:10px;padding:22px 10px 0;margin-top:auto;font-size:14px}.dashboard-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#2a4664;color:#9ff3e5;font-weight:700}.dashboard-workspace{min-width:0}.dashboard-header{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:10px 0 22px}.dashboard-eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#6d829b;margin:0 0 10px}.dashboard-header h1{font-size:clamp(25px,3vw,34px);letter-spacing:-.7px;margin:0 0 8px}.dashboard-header p:last-child{color:#64768d;font-size:14px;margin:0;line-height:1.6}.dashboard-date{padding:10px 14px;background:#fff;border:1px solid #e0e7ef;border-radius:12px;font-size:12px;white-space:nowrap}#dashboard-message #message:empty{display:none}.dashboard-panel{min-width:0}.dashboard-panel:not(#dashboard-resumen){background:#fff;border:1px solid #e2e9f0;border-radius:20px;padding:26px;box-shadow:0 6px 18px #1b335607}.dashboard-panel>.section:first-child{margin-top:0;padding-top:0;border-top:0}.dashboard-panel h2{letter-spacing:-.3px}.dashboard-panel p{line-height:1.65}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(110deg,#143954,#145b68);padding:30px 34px;border-radius:20px;color:#fff;overflow:hidden}.dashboard-hero .dashboard-eyebrow{color:#a2e7dd}.dashboard-hero h2{font-size:clamp(25px,3vw,34px);margin:0 0 12px}.dashboard-hero p:not(.dashboard-eyebrow){color:#d1e7eb;max-width:520px;font-size:14px;margin:0 0 20px}.dashboard-hero button{background:#89efdc;color:#143c4c;border:0;font-weight:700;border-radius:10px}.dashboard-hero-art{font-size:130px;color:#72d4cc;line-height:1;transform:rotate(-12deg);opacity:.8}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 30px}.dashboard-metrics article{background:#fff;border:1px solid #e2e9f0;border-radius:16px;padding:20px;display:grid;gap:10px}.dashboard-metrics article>span{color:#60748b;font-size:12px}.dashboard-metrics strong{font-size:34px;letter-spacing:-1px}.dashboard-metrics small{color:#7c8da1;font-size:11px;line-height:1.5}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.dashboard-section-heading h2{margin:0 0 6px}.dashboard-section-heading p{margin:0;font-size:13px;color:#6d8097}.dashboard-section-heading button{font-size:12px;border-radius:10px}.dashboard-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dashboard-class-grid article{background:#fff;padding:24px;border:1px solid #e2e9f0;border-radius:16px}.dashboard-level{font-size:11px;font-weight:700;color:#167e70;background:#e6f7f2;padding:6px 10px;border-radius:7px;display:inline-block}.dashboard-class-grid h3{font-size:17px;line-height:1.5;margin:16px 0 8px}.dashboard-class-grid p{color:#728399;font-size:12px}.dashboard-class-grid button{border:0;padding:12px 0 0;color:#087e72;font-size:13px;font-weight:700}.dashboard-card-intro{margin-bottom:24px}.dashboard-card-intro h2{margin-bottom:8px}.dashboard-card-intro p{color:#6d8097;font-size:14px;margin:0}.dashboard-filters{display:grid;grid-template-columns:1.2fr .75fr 1.2fr 1.4fr;gap:14px;padding:18px;background:#f5f8fb;border-radius:14px}.dashboard-filters label{font-size:11px;color:#687c94}.dashboard-filters input,.dashboard-filters select{font-size:13px;border-color:#d7e1eb;border-radius:8px}#roster-count{font-size:12px;color:#728399;margin:20px 0 12px}.dashboard-roster{border:1px solid #e1e8f0;border-radius:12px;max-height:62vh}.dashboard-roster table{min-width:740px;font-size:13px}.dashboard-roster thead{background:#f6f8fb}.dashboard-roster th{position:sticky;top:0;background:#f6f8fb;font-size:11px;padding:16px;z-index:1}.dashboard-roster td{padding:18px 16px}.dashboard-roster small{display:block;color:#7b8ca0;margin-top:6px;font-size:11px}.dashboard-roster button{padding:7px 10px;font-size:11px;border-radius:8px;color:#087e72;border-color:#d7ece8}.dashboard-status{display:inline-block;background:#e9f8f0;color:#237c51;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:700;white-space:nowrap}.dashboard-status.is-disabled{background:#f2edf0;color:#886577}.dashboard-pagination{display:flex;gap:14px;align-items:center;justify-content:end;margin-top:18px;font-size:12px}.dashboard-pagination button{padding:8px 12px;border-radius:8px;font-size:12px}.dashboard-panel form{gap:18px}.dashboard-panel form button{border-radius:10px}.educator-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.educator-metrics strong{font-size:clamp(23px,2.5vw,34px);overflow-wrap:anywhere}.class-selector-bar{background:#f4f8fb;border:1px solid #e2eaf1;border-radius:14px;padding:18px;margin-bottom:20px}.class-selector-bar label{color:#526983;font-size:13px;max-width:560px}.class-selector-bar select{width:100%;background:#fff;border-radius:10px;min-height:46px}.class-access-card{background:#eff9f6;border:1px solid #d1eae3;border-radius:14px;padding:20px;margin:24px 0}.class-access-card form{margin:0}.class-access-card button{background:#087e72;border-color:#087e72;color:#fff;font-weight:700}.class-access-card p{color:#526f70;font-size:12px;margin:12px 0 0}.staff-dashboard .progress-heading{margin-top:28px}.staff-dashboard .progress-scroll{border:1px solid #e1e8f0;border-radius:14px}.staff-dashboard #student-pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:12px;margin-top:18px;font-size:13px}.dashboard-empty{padding:28px;border:1px dashed #b6c9d8;border-radius:16px;background:#fff}.dashboard-user>div{min-width:0;overflow-wrap:anywhere}.dashboard-avatar{flex-shrink:0}.dashboard-panel #school-list{padding-left:20px;color:#60748b;line-height:2}.dashboard-panel #teacher-list{display:flex;flex-wrap:wrap;gap:20px}@media(max-width:1100px){.dashboard-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.educator-metrics article:last-child{grid-column:1 / -1}.dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.staff-dashboard #account-main{padding:16px}.dashboard-layout{grid-template-columns:minmax(0,1fr);gap:18px}.dashboard-sidebar{position:static;min-height:0;padding:18px 12px 12px;border-radius:16px}.dashboard-brand{padding:0 8px 18px;font-size:19px}.dashboard-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-sidebar nav button{min-height:44px;padding:10px 8px;font-size:12px}.dashboard-sidebar nav button>span{font-size:17px;width:18px}.dashboard-user{display:none}.dashboard-header{padding-top:0}.dashboard-date{display:none}.dashboard-hero{padding:24px}.dashboard-hero-art{display:none}.dashboard-metrics{gap:10px;margin-top:16px}.dashboard-metrics article{padding:16px}.dashboard-metrics strong{font-size:29px}.dashboard-panel:not(#dashboard-resumen){padding:18px;border-radius:16px}.dashboard-section-heading{align-items:start;flex-direction:column}.dashboard-filters{padding:12px;gap:12px}.dashboard-search{grid-column:1 / -1}}body.account-login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.account-login #account-main{flex:1;display:grid;place-items:center;width:100%;max-width:none;margin:0;padding:clamp(16px,4vh,48px) clamp(16px,4vw,48px)}.account-login .login{width:100%;max-width:clamp(420px,46vw,600px);margin:0;padding:clamp(20px,3vw,36px);border:1px solid #dbe1e7;border-radius:20px;background:#fff;box-shadow:0 8px 28px #202b360a}.account-login .login h1{font-size:clamp(26px,2.5vw,36px);line-height:1.2}.account-login .login form{gap:20px}.account-login .login label{font-size:clamp(16px,1.5vw,20px);line-height:1.4}.account-login .login input,.account-login .login button{min-height:54px;font-size:18px}.account-login .login button{font-weight:600}.account-login .login .error{margin:16px 0 0}.account-login .login .error:empty{min-height:0;margin:0}@media(max-height:700px){.account-login #account-main{padding-top:16px;padding-bottom:16px}.account-login .login{padding:20px}.account-login .login h1{font-size:26px;margin-bottom:18px}.account-login .login form{gap:14px}.account-login .login label{font-size:16px}.account-login .login input,.account-login .login button{min-height:48px}}.challenge-concepts-tooltip{position:fixed;z-index:10000;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100vw - 16px));padding:12px 16px;border:1px solid #56d5e5;border-radius:12px;background:#073e55;color:#fff;box-shadow:0 6px 20px #002d4933;font:14px/1.5 system-ui,sans-serif;white-space:pre-line;pointer-events:none}.challenge-concepts-tooltip[hidden]{display:none}.progress-matrix th[data-challenge-concepts]{cursor:help}.progress-matrix th[data-challenge-concepts]:focus-visible{outline:3px solid #087bb7;outline-offset:-3px}.loading-active{overflow:hidden;background:#eafaff}.loading-active>:not(.loading-screen){display:none!important}.loading-screen{position:fixed;inset:0;z-index:1100;overflow:hidden;background:#eafaff;opacity:1;transition:opacity .3s ease}.loading-art{position:absolute;left:50%;top:50%;width:max(100vw,177.7778dvh);height:max(100dvh,56.25vw);transform:translate(-50%,-50%)}.loading-art>img{display:block;width:100%;height:100%;object-fit:cover}.loading-art>.loading-label{position:absolute;left:50%;top:67.7%;width:19.9%;height:9.31%;object-fit:contain;transform:translate(-50%)}.loading-screen.is-leaving{opacity:0}
