@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#17352a;background:#f5f7f4;font-synthesis:none;--ink:#17352a;--green:#123b2b;--mint:#bcf3a7;--soft:#e9f0e8;--line:#dbe3da;--muted:#6c7d74;--white:#fff;--shadow:0 20px 55px rgba(18,59,43,.1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{display:block;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#4c7c61;margin-bottom:.5rem}h1,h2,p{margin-top:0}h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2.15rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:.75rem}h2{line-height:1.15}.brand{display:flex;align-items:center;gap:.72rem;background:none;border:0;color:inherit;padding:0;text-align:left}.brand-mark{width:45px;height:45px;border-radius:14px;background:var(--green);display:grid;place-items:center;color:var(--mint);font-size:1.3rem}.brand strong{display:block;letter-spacing:.18em;font-size:.94rem}.brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:.1rem}.primary{border:0;border-radius:14px;background:var(--green);color:#fff;padding:.88rem 1.2rem;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;box-shadow:0 8px 22px #123b2b29}.primary:hover{background:#1c533e}.primary.full{width:100%}.text-button,.icon-text,.back{display:flex;align-items:center;gap:.5rem;border:0;background:none;color:inherit}.security-note{display:flex;gap:.6rem;color:var(--muted);font-size:.86rem;line-height:1.45}.security-note svg{flex:none;width:19px;color:#4c7c61}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(350px,520px) 1fr}.login-panel{padding:clamp(2rem,7vw,6.5rem);display:flex;flex-direction:column;justify-content:center;background:#fff}.login-panel>.brand{position:absolute;top:2.3rem}.login-copy{margin:4rem 0 1.5rem}.login-copy p{font-size:1.05rem;line-height:1.65;color:var(--muted);max-width:34rem}.login-panel form{display:grid;gap:1rem}.login-panel label,.stack label{display:grid;gap:.45rem;font-size:.88rem;font-weight:700}.login-panel input,.stack input,.stack textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:.9rem 1rem;background:#fbfcfb;outline:none}.login-panel input:focus,.stack input:focus,.stack textarea:focus{border-color:#4c7c61;box-shadow:0 0 0 3px #4c7c6121}.form-message{color:var(--green);font-size:.9rem}.demo-link{border:0;background:none;text-decoration:underline;color:#4c7c61;margin:1.2rem auto 2.4rem}.login-art{background:radial-gradient(circle at 72% 18%,#d5f4c9 0 8%,transparent 9%),radial-gradient(circle at 27% 80%,#638b56 0 6%,transparent 7%),linear-gradient(145deg,#0b2d20,#1a543c);display:grid;place-items:center;overflow:hidden}.art-card{width:min(58%,530px);aspect-ratio:4/5;border:1px solid rgba(255,255,255,.22);border-radius:35% 35% 10% 10%;padding:12%;display:flex;flex-direction:column;justify-content:center;color:#fff;transform:rotate(4deg);box-shadow:0 50px 90px #00000059;position:relative}.art-card:before,.art-card:after{content:"";position:absolute;border-radius:50%;background:var(--mint);filter:blur(2px)}.art-card:before{width:65px;height:82px;top:-32px;left:38%;transform:rotate(-26deg)}.art-card:after{width:38px;height:22px;top:-26px;left:56%;transform:rotate(35deg)}.art-card>span{font-weight:700;letter-spacing:.3em}.art-card strong{font-family:Fraunces,serif;font-size:clamp(3rem,6vw,6.3rem);line-height:.88;letter-spacing:-.06em;margin:15% 0 4%}.art-card i{color:var(--mint);font-size:1.2rem}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4rem);position:sticky;top:0;z-index:20}.top-actions button{font-weight:600}.student-main{max-width:1420px;margin:auto;padding:clamp(2rem,5vw,5rem)}.page-heading,.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.3rem}.page-heading p,.admin-heading p{color:var(--muted);margin-bottom:0}.search{display:flex;align-items:center;gap:.65rem;padding:.72rem .9rem;border:1px solid var(--line);border-radius:13px;background:#fff;min-width:260px}.search svg{width:19px;color:var(--muted)}.search input{border:0;outline:0;width:100%;background:transparent}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.course-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 35px #123b2b0d;display:flex;flex-direction:column}.course-cover{border:0;aspect-ratio:4/3;width:100%;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;color:#fff;overflow:hidden}.course-cover span:last-child{font-family:Fraunces,serif;font-size:1.45rem;line-height:1.06}.cover-brand{font-size:.65rem!important;letter-spacing:.2em}.tone-cocoa{background:linear-gradient(145deg,#503222,#9b6747)}.tone-berry{background:linear-gradient(145deg,#6e1839,#c4617a)}.tone-forest{background:linear-gradient(145deg,#16382b,#426f43)}.tone-lime{background:linear-gradient(145deg,#303d12,#829327)}.course-card-body{padding:1.2rem;display:flex;flex-direction:column;gap:1rem;flex:1}.course-card-body h2{font-family:Fraunces,serif;font-size:1.35rem;margin:0}.course-card-body .primary{margin-top:auto}.progress{height:5px;background:#e4e9e4;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:#4c7c61}.empty{text-align:center;background:#fff;padding:5rem;border-radius:24px}.back{font-weight:700;margin-bottom:2rem;padding:.5rem 0}.detail-grid{display:grid;grid-template-columns:minmax(260px,500px) 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.detail-cover{aspect-ratio:4/3;border-radius:28px;padding:2.3rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.detail-cover>span{letter-spacing:.2em;font-size:.75rem}.detail-cover svg{width:70px;height:70px}.detail-cover strong{font-family:Fraunces,serif;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.detail-copy p{font-size:1.1rem;line-height:1.7;color:var(--muted);max-width:45rem}.detail-copy .primary{margin:1.2rem 0}.reader{height:100vh;display:grid;grid-template-rows:66px 1fr 70px;background:#17201d;color:#fff;overflow:hidden}.reader-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.2rem;background:#0c1411;border-bottom:1px solid #2e3b36}.reader-header>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-security{justify-self:end;display:flex;align-items:center;gap:.45rem;color:#b9c8c1;font-size:.82rem}.reader-canvas{position:relative;overflow:auto;display:flex;align-items:center;justify-content:center;padding:3rem}.paper{width:min(760px,72vw);aspect-ratio:1/1.414;background:#fff;color:#17352a;box-shadow:0 24px 70px #00000073;transform-origin:center;border-radius:2px;padding:8%;position:relative;transition:transform .15s ease}.paper-brand{font-weight:800;letter-spacing:.2em;font-size:.8rem}.paper-content{margin-top:13%;width:74%}.paper-content>span{font-size:.75rem;color:#789085}.paper-content h1{font-size:clamp(1.5rem,3vw,2.5rem);margin:1rem 0 2.5rem}.recipe-line{height:9px;background:#c8d5ce;border-radius:10px;margin:1rem 0;width:76%}.recipe-line.wide{width:100%}.recipe-line.short{width:48%}.recipe-block{height:24%;min-height:90px;background:#eaf0ec;border-radius:18px;margin:2.4rem 0}.watermark{position:absolute;inset:48% auto auto 10%;width:80%;text-align:center;color:#123b2b2b;font-size:clamp(.8rem,2vw,1.5rem);font-weight:800;letter-spacing:.15em;transform:rotate(-24deg);border:3px solid rgba(18,59,43,.12);padding:1rem}.page-arrow{position:fixed;top:50%;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#17352a;display:grid;place-items:center;z-index:5}.page-arrow.left{left:1.3rem}.page-arrow.right{right:1.3rem}.reader-controls{display:flex;align-items:center;justify-content:center;gap:1rem;background:#0c1411;border-top:1px solid #2e3b36}.reader-controls button{display:grid;place-items:center;background:none;color:#fff;border:0}.reader-controls label{display:flex;align-items:center;gap:.5rem}.reader-controls input{width:58px;padding:.45rem;border:1px solid #52625c;border-radius:8px;background:#1b2924;color:#fff;text-align:center}.sidebar{position:fixed;left:0;top:76px;bottom:0;width:225px;background:var(--green);color:#fff;padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:grid;gap:.4rem}.nav-item{border:0;background:transparent;color:#c7d8cf;padding:.8rem;border-radius:11px;display:flex;align-items:center;gap:.7rem;width:100%;font-weight:600;text-align:left}.nav-item svg{width:20px}.nav-item.active{background:#bcf3a724;color:var(--mint)}.nav-item.quiet{color:#a9bdb3}.admin-main{margin-left:225px;padding:clamp(2rem,4vw,4rem);max-width:1600px}.admin-heading{align-items:center}.toolbar{background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0;padding:1rem;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.admin-table{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;overflow:hidden}.table-row{display:grid;grid-template-columns:minmax(300px,2fr) 130px 100px 80px 90px;align-items:center;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #edf1ed;font-size:.9rem}.table-head{border:0;background:#f9faf9;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.course-cell{display:flex;align-items:center;gap:.85rem}.course-cell>span{min-width:0}.course-cell strong,.course-cell small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-cell small{color:var(--muted);margin-top:.23rem}.mini-cover{width:52px;height:40px;border-radius:8px;flex:none}.table-row>span{display:flex;align-items:center;gap:.35rem}.table-row>span svg{width:17px}.status{width:8px;height:8px;border-radius:50%;background:#4da966}.row-actions{display:flex;gap:.4rem}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;width:35px;height:35px;display:grid;place-items:center;color:var(--green)}.modal-layer{position:fixed;inset:0;background:#06140e8c;z-index:50;display:grid;place-items:center;padding:1rem}.modal{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:2rem;position:relative;box-shadow:0 30px 100px #0000004d}.modal h2{font-family:Fraunces,serif;font-size:2rem;margin-bottom:.5rem}.modal>p{color:var(--muted);line-height:1.5}.modal-close{position:absolute;right:1.2rem;top:1.2rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.5rem}.stack{display:grid;gap:1.1rem}.stack textarea{resize:vertical}.stack fieldset{border:0;padding:0;display:grid;gap:.6rem}.stack legend{font-size:.88rem;font-weight:700;margin-bottom:.5rem}.upload-choice{grid-template-columns:auto auto 1fr!important;align-items:center;border:1px solid var(--line);border-radius:14px;padding:.85rem}.upload-choice input{width:auto}.upload-choice svg{color:#4c7c61}.upload-choice strong,.upload-choice small{display:block}.upload-choice small{color:var(--muted);font-weight:400;margin-top:.15rem}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh}.page-heading,.admin-heading{align-items:flex-start;flex-direction:column}.page-heading .search{width:100%}.detail-grid{grid-template-columns:1fr}.detail-cover{max-width:560px}.sidebar{width:76px;padding:1rem .7rem}.nav-item{justify-content:center}.nav-item:not(.quiet){font-size:0}.nav-item.quiet{font-size:0}.admin-main{margin-left:76px}.table-row{grid-template-columns:minmax(230px,2fr) 110px 70px}.table-row>*:nth-child(4),.table-row>*:nth-child(5){display:none}.reader-security{font-size:0}.reader-header{grid-template-columns:auto 1fr auto;gap:1rem}.reader-header>strong{text-align:center}.paper{width:min(720px,82vw)}}@media(max-width:600px){.top-actions span{display:none}.student-main{padding:1.3rem}.course-grid{grid-template-columns:1fr}.page-heading h1{font-size:2.7rem}.sidebar{top:auto;right:0;bottom:0;width:auto;height:68px;z-index:30;padding:.5rem;background:var(--green)}.sidebar nav{display:flex;justify-content:space-around}.sidebar .quiet{display:none}.admin-main{margin:0 0 68px;padding:1.2rem}.admin-heading .primary{width:100%}.toolbar{flex-direction:column;align-items:stretch;gap:.7rem}.toolbar .search{min-width:0}.table-row{grid-template-columns:1fr 105px;padding:.8rem}.table-row>*:nth-child(3){display:none}.course-cell small{display:none}.mini-cover{width:42px;height:38px}.reader-canvas{padding:1.2rem .5rem}.paper{width:92vw}.page-arrow{top:auto;bottom:11px;width:43px;height:43px}.page-arrow.left{left:1rem}.page-arrow.right{right:1rem}.reader-controls{padding:0 4rem}.reader-header>strong{font-size:.82rem}.icon-text{font-size:0}.login-panel>.brand{position:static}.login-copy{margin-top:4rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.brand-symbol{width:48px;height:48px;object-fit:contain;display:block;flex:none}.brand-copy{display:block}.brand-copy strong{font-size:1rem;letter-spacing:.2em;line-height:1}.brand-copy small{font-size:.55rem;letter-spacing:.13em;margin-top:.35rem;color:#577066;white-space:nowrap}.logout-button{padding:.6rem .75rem;border-radius:10px}.logout-button:hover,.logout-button:focus-visible{background:#edf4ef}.logout-button svg{width:22px;height:22px;stroke-width:2.2}.brand-artwork{width:min(62%,520px);aspect-ratio:1;background:#050505;border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:8%;transform:none;display:flex;align-items:center;justify-content:center;text-align:center}.brand-artwork:before,.brand-artwork:after{display:none}.brand-artwork>img{width:48%;height:auto;display:block}.brand-artwork>strong{font-family:DM Sans,Arial,sans-serif;font-size:clamp(2.1rem,4.5vw,4.6rem);line-height:1;letter-spacing:.16em;margin:1rem 0 .45rem;color:#fff}.brand-artwork>.brand-divider{width:100%;display:flex;align-items:center;gap:.8rem;letter-spacing:0;margin:0 0 .55rem}.brand-divider:before,.brand-divider:after{content:"";height:2px;background:#fff;flex:1}.brand-artwork .brand-divider i{color:#d5ad48;font-size:1rem;font-style:normal;line-height:1}.brand-artwork>small{color:#fff;font-size:clamp(.58rem,1vw,.82rem);letter-spacing:.36em;white-space:nowrap}@media(max-width:600px){.brand-symbol{width:43px;height:43px}.brand-copy strong{font-size:.9rem}.brand-copy small{font-size:.48rem;letter-spacing:.1em}.logout-button{padding:.65rem}.logout-button svg{width:23px;height:23px}}.route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--green)}.course-cover img,.detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.course-cover:has(img),.detail-cover:has(img){padding:0}.state-card,.reader-message{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:180px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--muted);padding:2rem;text-align:center}.state-card.error{display:block;color:#8d2c31}.spinner{width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite;display:inline-block;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.page-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.paper-content.placeholder{position:relative}.page-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.65rem;background:#ffffffe0;color:var(--green);z-index:2}.page-loading.error{color:#8d2c31;padding:2rem;text-align:center}.reader-message{background:#fff;color:var(--green);width:min(520px,90vw);min-height:120px}.inline-alert{background:#fff1f1;color:#8d2c31;border:1px solid #f1cccc;border-radius:13px;padding:.85rem 1rem;margin-bottom:1rem}.status.draft{background:#d79d35}.upload-progress{display:grid;gap:.45rem;background:#f3f7f2;border-radius:13px;padding:.8rem}.upload-progress>div{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem}.upload-progress progress{width:100%;accent-color:var(--green)}.stack label>small{color:var(--muted);font-weight:400}.stack select{width:100%;border:1px solid var(--line);border-radius:13px;padding:.9rem 1rem;background:#fbfcfb}.student-row{display:grid;grid-template-columns:minmax(260px,1fr) 100px 130px;align-items:center;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #edf1ed}.student-row.table-head{border-top:0}.student-row>span:first-child strong,.student-row>span:first-child small{display:block}.student-row>span:first-child small{color:var(--muted);margin-top:.2rem}.access-toggle{border:1px solid #e7b8b8;background:#fff5f5;color:#8d2c31;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:700}.access-toggle.active{border-color:#b8dbbf;background:#eff9f0;color:#2f6e3d}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:12px;padding:.72rem 1rem;font-weight:700}.secondary-button:hover{border-color:#91a99c;background:#f7faf7}.secondary-button.compact{padding:.55rem .72rem;font-size:.78rem}.student-row{grid-template-columns:minmax(240px,1fr) 80px 125px 150px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-bottom:1.5rem}.metric-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.4rem;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;box-shadow:0 8px 28px #123b2b0d}.metric-card>svg{grid-row:1/5;width:28px;height:28px;color:#4c7c61}.metric-card>span{font-size:.82rem;color:var(--muted);font-weight:700}.metric-card>strong{font-family:Fraunces,serif;font-size:2.5rem;line-height:1}.metric-card>small{color:var(--muted)}.dashboard-panel,.settings-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.5rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2,.settings-card h2{font-family:Fraunces,serif;font-size:1.65rem;margin:0}.dashboard-list{display:grid}.dashboard-list>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;border:0;border-top:1px solid #edf1ed;background:#fff;text-align:left;padding:1rem 0;color:var(--ink)}.dashboard-list>button:first-child{border-top:0}.dashboard-list>button:not(:disabled):hover strong{color:#4c7c61}.dashboard-list>button span strong,.dashboard-list>button span small{display:block}.dashboard-list>button span small{color:var(--muted);margin-top:.22rem}.dashboard-list>button em{font-style:normal;color:#4c7c61;font-weight:700;font-size:.82rem}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:1.3rem;align-items:start}.settings-card .primary{justify-self:start}.protection-card{display:flex;gap:1rem;line-height:1.6}.protection-card>svg{flex:none;color:#4c7c61;width:30px;height:30px}.protection-card p{color:var(--muted);margin:0}.success-message{color:#2f6e3d;background:#eff9f0;border:1px solid #b8dbbf;border-radius:12px;padding:.8rem}.course-checklist{border:1px solid var(--line)!important;border-radius:14px!important;padding:.5rem!important;max-height:300px;overflow:auto;gap:.2rem!important}.course-checklist legend{padding:0 .35rem}.stack label.course-check{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.7rem;border-radius:10px;font-weight:500}.course-check:hover{background:#f5f8f5}.course-check input{width:auto!important;accent-color:var(--green)}.course-check span strong,.course-check span small{display:block}.course-check span small{margin-top:.15rem}.modal:has(.course-checklist){width:min(650px,100%)}.course-cell-button{border:0;background:transparent;color:inherit;padding:0;text-align:left;width:100%;border-radius:9px}.course-cell-button:not(:disabled):hover strong,.course-cell-button:not(:disabled):focus-visible strong{color:#3f7654;text-decoration:underline}.course-cell-button:disabled{opacity:1;cursor:default}.form-message.error{color:#9a2930}.form-message.success{color:var(--green)}@media(max-width:900px){.metric-grid,.settings-grid{grid-template-columns:1fr}.student-row{grid-template-columns:minmax(190px,1fr) 70px 140px}.student-row>*:nth-child(3){display:none}}@media(max-width:600px){.student-row{grid-template-columns:minmax(0,1fr) 125px;gap:.7rem}.student-row>*:nth-child(2),.student-row>*:nth-child(3){display:none}.student-row.table-head>*:last-child{font-size:0}.student-row.table-head>*:last-child:after{content:"Cursos";font-size:.76rem}.metric-card,.dashboard-panel,.settings-card{padding:1.1rem}.panel-heading{align-items:flex-start}.dashboard-list>button{grid-template-columns:auto 1fr}.dashboard-list>button em{display:none}}.student-count-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:.4rem;width:max-content;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--green);padding:.45rem .55rem;font-weight:700}.student-count-button svg{width:18px;height:18px}.student-count-button:hover,.student-count-button:focus-visible{border-color:#b8d6c1;background:#eff7f1}.roster-modal{width:min(680px,100%)}.roster-course-title{font-weight:700;color:var(--green)!important;margin-bottom:1.2rem}.roster-search{width:100%;margin-bottom:1rem}.course-student-list{border:1px solid var(--line);border-radius:15px;max-height:390px;overflow:auto}.course-student-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-top:1px solid #edf1ed}.course-student-row:first-child{border-top:0}.course-student-row strong,.course-student-row small{display:block}.course-student-row small{color:var(--muted);margin-top:.2rem}.roster-access{flex:none;border-radius:999px;padding:.4rem .65rem;background:#fff1f1;color:#8d2c31;font-size:.75rem;font-weight:700}.roster-access.active{background:#eff9f0;color:#2f6e3d}.roster-state{min-height:150px;display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--muted);text-align:center}.roster-state>svg{width:24px}.roster-total{text-align:right;color:var(--muted);font-size:.78rem;margin:1rem 0 0!important}@media(max-width:600px){.courses-table .table-row{grid-template-columns:minmax(0,1fr) 72px}.courses-table .table-row>*:nth-child(2){display:none}.courses-table .table-row>*:nth-child(3){display:flex}.student-count-button{justify-self:end}.roster-modal{padding:1.3rem}.course-student-row{align-items:flex-start;flex-direction:column}.roster-access{align-self:flex-start}}
