:root{--violet:#7042d8;--ink:#28282e;--muted:#727078;--line:#e5e1eb;--paper:#f7f6f9;--soft:#eee7fb;--green:#226b4f;--red:#a1303d;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b59af0}button svg{width:18px;height:18px}.brand{display:block;flex-shrink:0;width:163px;height:46px;background:url('/assets/saberna-identidad.png') no-repeat -24.66px -25.07px/210.39px 140.26px}.topbar{background:#fff;border-bottom:1px solid var(--line);height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:20px}.topbar>a:last-child{font-size:13px}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}.eyebrow{display:block;color:var(--violet);font-size:10px;font-weight:750;letter-spacing:.14em;line-height:1.6;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.045em;margin-bottom:15px}h2{font-size:25px;letter-spacing:-.035em;font-weight:600;margin-bottom:14px}h3{font-size:17px;line-height:1.35;font-weight:600;margin-bottom:10px}p{font-size:14px;line-height:1.7;color:var(--muted)}.loading{max-width:950px;margin:80px auto;padding:0 28px}.loading .eyebrow{margin-bottom:20px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 86px)}.login-copy{padding:8vw 6vw;align-self:center}.login-copy h1{font-size:clamp(40px,4.6vw,65px);margin:20px 0}.login-copy p{max-width:420px}.login-picture{position:relative;min-height:480px;background:#28282e}.login-picture img{width:100%;height:100%;position:absolute;object-fit:cover}.login-picture>div{position:absolute;bottom:0;padding:40px;background:linear-gradient(transparent,#28282ede);width:100%;color:white}.login-picture p{color:#fff;margin:0}.login-picture small{display:block;color:#ddd;margin-top:12px;font-size:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:11px 17px;border:1px solid transparent;border-radius:8px;background:var(--violet);color:white;font-size:13px;font-weight:600;text-decoration:none;line-height:1.3}.btn:hover:not(:disabled){filter:brightness(.95)}.btn.secondary{background:white;border-color:var(--line);color:var(--ink)}.btn.soft{background:var(--soft);color:#5d30b8}.btn.danger{background:#fbebee;color:var(--red)}.btn.small{min-height:34px;font-size:11px;padding:8px 12px}.btn.text{background:transparent;color:var(--muted);padding:8px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100svh}.sidebar{background:white;border-right:1px solid var(--line);padding:24px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100svh;overflow:auto}.sidebar .brand{margin:0 0 35px -3px}.sidebar .eyebrow{color:var(--muted);font-size:9px;margin:0 11px 14px}.side-nav{display:grid;gap:7px}.side-nav button,.side-nav a{border:0;border-radius:8px;background:transparent;color:#68636f;font-size:13px;text-align:left;padding:13px;display:flex;gap:12px;align-items:center;text-decoration:none}.side-nav [aria-current=page]{background:var(--soft);color:var(--violet);font-weight:650}.side-nav svg{width:18px;height:18px}.side-bottom{margin-top:auto;padding:25px 7px 4px;display:grid;gap:14px;font-size:11px;color:var(--muted)}.identity{padding-top:20px;border-top:1px solid var(--line);line-height:1.6;overflow-wrap:anywhere}.identity strong{display:block;font-size:12px;color:var(--ink)}.main{min-width:0}.workspace-header{height:83px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffc;gap:15px}.workspace-header span{font-size:12px;color:var(--muted)}.workspace-header .badge{font-size:10px}.workspace{padding:40px 42px 70px;max-width:1370px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.intro .eyebrow{margin-bottom:10px}.intro p{margin:0;max-width:660px}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--soft);color:#603abb;border-radius:100px;padding:6px 10px;font-size:10px;white-space:nowrap;font-weight:600}.badge.green{background:#e6f3ec;color:var(--green)}.badge.gray{background:#eeedf1;color:#726c7b}.badge.red{background:#fae9ed;color:var(--red)}.badge.amber{background:#fff2d8;color:#8b5e16}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px}.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.stat span{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:31px;font-weight:600;margin:13px 0 5px;letter-spacing:-.04em}.stat small{font-size:10px;color:var(--muted)}.grid-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:27px;margin-bottom:23px}.panel h2{font-size:21px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-head h2,.panel-head p{margin:0}.empty{padding:35px 20px;text-align:center;background:var(--paper);border-radius:9px;color:var(--muted);font-size:13px;line-height:1.6}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.checklist li:last-child{border:0;padding-bottom:0}.checklist strong{display:block;font-size:13px;margin-bottom:4px}.checklist small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.spotlight{border-radius:15px;overflow:hidden;background:var(--ink);color:white;display:grid;grid-template-columns:1.3fr .7fr;min-height:235px;margin-bottom:29px}.spotlight-copy{padding:31px}.spotlight .eyebrow{color:#c5a9ff;margin-bottom:14px}.spotlight h2{font-size:30px}.spotlight p{color:#cfc9d8;font-size:12px;margin:0}.spotlight img{width:100%;height:100%;object-fit:cover}.notice-box{background:#f1eafb;border:1px solid #dfd2f6;border-radius:9px;padding:16px 19px;font-size:12px;line-height:1.65;margin-bottom:24px;color:#5e4388}.notice-box.warning{background:#fff7e9;border-color:#f0ddb5;color:#795c2c}.weeks{display:grid;gap:18px}.week{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.week>summary{display:flex;align-items:center;gap:16px;list-style:none;padding:22px;cursor:pointer}.week>summary::-webkit-details-marker{display:none}.week>summary:after{content:'+';margin-left:auto;color:var(--muted);font-size:22px}.week[open]>summary:after{content:'−'}.week-number{display:flex;width:38px;height:42px;flex-shrink:0;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--violet);font-weight:650}.week-heading{flex:1}.week-heading h3{font-size:15px;margin:0 0 5px}.week-heading small{color:var(--muted);font-size:11px}.lesson{padding:23px;border-top:1px solid var(--line)}.lesson>small{color:var(--muted);font-size:10px}.lesson h3{margin:10px 0;font-size:16px}.lesson p{font-size:12px;max-width:780px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.lesson-actions{margin-top:16px}.materials{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.materials a{color:var(--violet);font-size:11px}.activity{background:var(--paper);padding:13px 16px;border-radius:8px;margin-top:16px;font-size:12px;line-height:1.6;color:var(--muted)}.activity b{color:var(--ink)}.muted{color:var(--muted)}.smallprint{font-size:11px;line-height:1.7;color:var(--muted);margin:15px 0}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.data-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:550;background:var(--paper);padding:12px 14px;white-space:nowrap}.data-table td{padding:17px 14px;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.55}.data-table td strong{display:block;font-weight:600}.data-table td small{display:block;color:var(--muted);font-size:10px}.data-table td:last-child .actions{flex-wrap:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:grid;gap:7px;font-size:12px;font-weight:550;margin-bottom:18px}.field input,.field select,.field textarea,.search{border:1px solid #dcd6e5;border-radius:7px;padding:12px;background:#fff;color:var(--ink);min-width:0;width:100%;font-size:13px}.field textarea{resize:vertical;min-height:135px;line-height:1.6}.field small{font-size:10px;color:var(--muted);font-weight:400;line-height:1.5}.checkbox{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.6;font-weight:400;margin:15px 0 20px}.checkbox input{accent-color:var(--violet);width:17px;height:17px;flex-shrink:0}.search{max-width:300px}.price-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.price-option{background:white;border:1px solid var(--line);border-radius:13px;padding:28px}.price-option.featured{border-color:var(--violet);background:#faf7ff}.price-option strong.price{font-size:38px;display:block;margin:20px 0 4px;font-weight:600;letter-spacing:-.04em}.price-option small{color:var(--muted);font-size:11px}.price-option h3{margin-top:12px;font-size:21px}.price-option p{font-size:12px}.price-option .btn{width:100%;margin-top:20px}.price-option select{padding:10px;border:1px solid var(--line);border-radius:7px;width:100%;background:white}.terms{white-space:pre-wrap;font-size:12px;line-height:1.7;max-height:250px;overflow:auto;background:var(--paper);border-radius:9px;padding:20px}.setup-steps{padding-left:19px;font-size:12px;line-height:1.75;color:var(--muted)}.setup-steps li{margin-bottom:10px}.setup-steps a{color:var(--violet)}.code-line{background:var(--paper);padding:12px;border-radius:6px;overflow-wrap:anywhere;font-size:11px;line-height:1.6}.divider{border:0;border-top:1px solid var(--line);margin:25px 0}.status-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.status-row h3{margin:0}.upload-label{position:relative}.upload-label input{position:absolute;width:1px;height:1px;opacity:0}.upload-label:focus-within{outline:3px solid #b59af0}.upload-status{font-size:11px;min-height:15px;line-height:1.6;color:var(--violet);margin-top:12px}.calendar-tag{color:var(--muted);font-size:11px}.connection-form{border-top:1px solid var(--line);padding-top:20px}.connection-form summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--violet);margin-bottom:20px}.dialog-close{position:absolute;top:14px;right:15px;border:0;background:var(--paper);width:32px;height:32px;border-radius:50%;color:var(--ink);font-size:20px}dialog{border:1px solid var(--line);border-radius:16px;padding:32px;width:min(650px,calc(100% - 30px));max-height:90svh;box-shadow:0 22px 100px #1d0f3d33}dialog::backdrop{background:#1710209c}dialog h2{padding-right:35px}dialog video{width:100%;border-radius:9px;margin:15px 0;background:#111}dialog .btn{margin-top:8px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:var(--ink);color:white;padding:15px 23px;font-size:13px;line-height:1.5;border-radius:9px;z-index:20;box-shadow:0 6px 30px #0002}#notice.error{background:#873345}[hidden]{display:none!important}.help-note{font-size:12px;padding:15px 0;line-height:1.6;color:var(--muted)}.inline-code{font-family:ui-monospace,monospace;font-size:10px}.audit-list{list-style:none;padding:0;font-size:11px}.audit-list li{border-top:1px solid var(--line);padding:14px 0;line-height:1.7}.audit-list small{color:var(--muted)}
@media(min-width:1450px){.workspace{padding:45px 55px}.sidebar{padding-top:28px}}@media(max-width:1100px){.shell{grid-template-columns:200px 1fr}.sidebar{padding-inline:15px}.workspace{padding:30px 25px}.workspace-header{padding-inline:25px}.stats{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.spotlight{grid-template-columns:1.4fr .6fr}.panel{padding:23px}.intro{align-items:start}}@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:16px 20px 10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{width:144px;height:40.6px;background-size:185.87px 123.91px;background-position:-21.78px -22.14px;margin:0 0 15px}.sidebar>.eyebrow,.side-bottom{display:none}.side-nav{display:flex;overflow:auto;gap:5px;padding-bottom:5px}.side-nav button,.side-nav a{white-space:nowrap;padding:10px;font-size:12px}.side-nav svg{display:none}.workspace-header{height:55px;padding-inline:22px}.workspace{padding:26px 20px 60px}.intro{display:block;margin-bottom:22px}.intro>.btn{margin-top:15px}h1{font-size:35px}.stats{gap:11px;margin-bottom:22px}.stat{padding:19px 16px}.stat strong{font-size:27px}.panel{padding:20px;border-radius:10px}.panel-head{align-items:start}.panel-head h2{font-size:19px}.spotlight{grid-template-columns:1fr}.spotlight img{display:none}.spotlight-copy{padding:25px}.spotlight h2{font-size:27px}.week>summary{padding:17px;gap:11px;flex-wrap:wrap}.week>summary>.badge{margin-left:49px}.week-heading h3{font-size:14px}.lesson{padding:20px}.form-grid,.price-options{grid-template-columns:1fr}.price-options{gap:14px}.price-option{padding:24px}.topbar{padding:0 20px;height:76px}.topbar>a:last-child{font-size:11px}.login{grid-template-columns:1fr}.login-copy{padding:50px 25px}.login-picture{min-height:300px}.login-copy h1{font-size:45px}.login-copy .btn{width:100%;margin:15px 0}.data-table{min-width:620px}.panel-head .search{max-width:160px}.intro p{font-size:13px}.notice-box{padding:15px;font-size:11px}dialog{padding:27px 21px}.form-grid{gap:0}.status-row{align-items:start}.badge{font-size:9px}.identity-mobile{display:block!important;font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:20px}}

/* Personal learning space */
.student-overview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:22px;margin:28px 0}.next-class{border-radius:16px;background:linear-gradient(125deg,#302540,#463056);padding:34px;color:#fff}.next-class .eyebrow{color:#d6baff;margin-bottom:17px}.next-class h2{font-size:30px;line-height:1.2;max-width:610px}.next-class p{color:#e1d8eb;font-size:14px}.next-class small{display:block;color:#ddd0e8;font-size:11px;margin-top:19px;line-height:1.6}.progress-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:29px}.progress-card>strong{display:block;font-size:58px;font-weight:550;letter-spacing:-.055em;margin:17px 0}.progress-card>strong span{font-size:27px;color:var(--muted);margin-left:4px}.progress-card progress{appearance:none;width:100%;height:7px;border:0;border-radius:10px;background:var(--soft);accent-color:var(--violet);overflow:hidden}.progress-card progress::-webkit-progress-bar{background:var(--soft)}.progress-card progress::-webkit-progress-value{background:var(--violet);border-radius:10px}.progress-card progress::-moz-progress-bar{background:var(--violet)}.progress-card p{margin:17px 0 7px;font-size:12px}.progress-card p b{color:var(--ink);font-weight:600}.progress-card small{font-size:11px;color:var(--muted);line-height:1.6}.student-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.student-shortcuts button{display:grid;justify-items:start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;text-align:left;color:var(--ink)}.student-shortcuts button:hover{border-color:var(--violet);background:#fcfaff}.student-shortcuts svg{width:22px;height:22px;color:var(--violet)}.student-shortcuts strong{font-size:15px;font-weight:600}.student-shortcuts span{font-size:11px;color:var(--muted)}.learning-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.learning-flow b{font-size:14px}.learning-flow p{font-size:13px;margin:10px 0 0}.library-filters{display:grid;grid-template-columns:1fr 200px;gap:20px}.resource-card{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid var(--line)}.resource-card:last-child{border-bottom:0}.resource-icon{display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--violet);min-width:48px;height:54px;border-radius:9px;font-size:11px;font-weight:750;letter-spacing:.035em}.resource-copy{flex:1;min-width:0}.resource-copy h3{font-size:14px;overflow-wrap:anywhere;line-height:1.5;margin:0 0 5px}.resource-copy p{font-size:11px;margin:0;line-height:1.6}.resource-card .actions{justify-content:end}.class-resources{margin-top:24px}.class-resources h4{font-size:12px;margin:0 0 5px}.class-resources .resource-card{padding:13px 0}.class-resources .resource-icon{height:44px;min-width:40px;font-size:9px}.lesson-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.lesson-footer span{font-size:11px;color:var(--muted)}.locked-lesson{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.locked-lesson span{font-size:11px;color:var(--muted)}.lesson{scroll-margin-top:20px}.lesson:focus{outline:none}.recording-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.recording-card{margin:0}.recording-cover{background:linear-gradient(135deg,#352841,#765790);border-radius:9px;min-height:145px;color:white;display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:23px}.recording-cover svg{width:38px;height:38px}.recording-cover span{font-size:11px;letter-spacing:.1em}.recording-card h2{font-size:21px;line-height:1.4;margin:13px 0 20px}.note-card .panel-head{align-items:start}.note-card h2{font-size:19px;line-height:1.4;margin:7px 0 0}.note-card .btn{flex-shrink:0}.note-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;padding:19px;background:var(--paper);border-left:3px solid #c6afed;border-radius:0 7px 7px 0}.note-card>small{font-size:11px}.note-save-status{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:16px}#personal-notes{min-height:260px}dialog.resource-viewer{width:min(1050px,calc(100% - 30px))}.document-viewer{display:block;width:100%;height:65svh;border:1px solid var(--line);border-radius:8px;margin-top:18px;background:var(--paper)}.image-viewer{display:block;max-width:100%;max-height:68svh;margin:22px auto 0;object-fit:contain}dialog.resource-viewer h2{overflow-wrap:anywhere}
@media(max-width:1100px){.student-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-overview{grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr)}.next-class{padding:27px}.next-class h2{font-size:27px}.resource-card{flex-wrap:wrap}.resource-card>.actions{margin-left:64px;justify-content:start}}
@media(max-width:760px){.student-overview{grid-template-columns:1fr;gap:15px}.progress-card{padding:23px}.progress-card>strong{font-size:45px;margin:12px 0}.next-class{padding:26px}.student-shortcuts{gap:11px}.student-shortcuts button{padding:19px 16px}.student-shortcuts strong{font-size:14px}.learning-flow{grid-template-columns:1fr;gap:20px}.library-filters{grid-template-columns:1fr;gap:0}.recording-grid{grid-template-columns:1fr}.note-card .panel-head{flex-wrap:wrap}.class-resources .resource-card>.actions{margin-left:56px}.resource-card>.actions{margin-left:0;width:100%}.resource-copy h3{font-size:13px}.lesson .status-row{flex-wrap:wrap}.lesson-footer{gap:12px}.student-shortcuts span{line-height:1.4}.note-save-status{flex-wrap:wrap}dialog.resource-viewer{padding:22px 18px}.document-viewer{height:60svh}}
.access-login{max-width:430px;margin:28px 0 0}.access-login .field{margin-bottom:15px}.access-login input[name="code"]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.035em}.access-login .btn{width:100%}.side-bottom>.btn.text{justify-content:flex-start;padding:0;min-height:auto;font-weight:400;font-size:11px}

.google-access { margin-bottom: 24px; }
.google-access[hidden] { display: none; }
.signin-status { padding: 12px 0; }
.signin-error { color: #aa2639; }
#admin-email-access input { font-size: 16px; }
#admin-email-access .btn { min-height: 44px; }

/* Private instructor preparation */
.instructor-notice strong{color:#493267}.admin-lesson .lesson{border-top:0}.instructor-workspace{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:22px 0;padding:20px;border:1px solid #d8c9f1;border-radius:11px;background:linear-gradient(135deg,#faf7ff,#f3edfc)}.instructor-workspace>div:first-child{display:grid;gap:7px;min-width:0}.instructor-workspace strong{font-size:14px}.instructor-workspace small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.admin-publication{padding-top:21px;border-top:1px solid var(--line)}.admin-publication>h4{font-size:13px;margin:0 0 4px}.admin-publication>.smallprint{margin:0 0 15px}.lesson-brief{background:var(--paper);border-left:3px solid #c6afed;border-radius:0 8px 8px 0;padding:17px 19px;margin:18px 0 23px}.lesson-brief strong{font-size:12px}.lesson-brief p{margin:8px 0;font-size:12px}.lesson-brief small{display:block;color:var(--muted);font-size:11px;line-height:1.65}.private-guide h3{font-size:15px}.private-guide p{font-size:12px}.private-guide .upload-status{margin-top:10px}form[data-form="instructor-workspace"] textarea{min-height:220px}
@media(max-width:760px){.instructor-workspace{align-items:flex-start;flex-direction:column;padding:17px}.instructor-workspace>.actions{width:100%}.instructor-workspace .btn{flex:1}.admin-lesson .status-row>.actions{justify-content:flex-end}.lesson-brief{padding:15px}}
