@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@700&display=swap";:root{color:#253129;background:#f6f3ed;font-family:DM Sans,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;background:#b55c3c;border:0;border-radius:9px;padding:.72rem 1rem;font-weight:600}button:hover{filter:brightness(.94)}.shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}aside{color:#f7f3e9;background:#27352d;flex-direction:column;height:100vh;padding:2rem 1rem;display:flex;position:sticky;top:0}.brand{padding:0 .8rem 2rem;font-family:Libre Franklin;font-size:1.3rem}.brand b{color:#e8a483}nav{gap:.35rem;display:grid}nav button{color:#cbd2cd;text-align:left;background:0 0;align-items:center;gap:.8rem;display:flex}nav button.active,nav button:hover{color:#fff;background:#405348}.profile{border-top:1px solid #53645b;align-items:center;gap:.7rem;margin-top:auto;padding-top:1rem;display:flex}.profile span{flex:1;display:grid}.profile small{color:#b8c2bc;text-transform:capitalize}.profile>button{background:0 0;padding:.5rem}.avatar{background:#d9805e;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.content{width:100%;max-width:1250px;padding:3rem clamp(1.2rem,4vw,4.5rem)}.content header{margin-bottom:2rem}.content h1{margin:.2rem 0;font-family:Libre Franklin;font-size:2.3rem}.eyebrow{color:#a05035;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700}.welcome{background:#e2e6dc;border-left:5px solid #c66d4b;border-radius:16px;padding:2rem}.hero{justify-content:space-between;align-items:center;padding:0 0 0 2rem;display:flex;overflow:hidden}.hero img{object-fit:cover;object-position:center 35%;align-self:stretch;width:42%;height:190px}.notifications{background:#fff8e9;border:1px solid #ead9b4;border-radius:12px;align-items:center;gap:.6rem;margin:1rem 0;padding:1rem;display:flex}.notifications svg{color:#b55c3c;margin-left:.6rem}.metrics{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0 2.2rem;display:grid}.metrics article{background:#fff;border-radius:12px;padding:1.3rem;display:grid;box-shadow:0 4px 20px #3344370b}.metrics b{color:#a55036;font-size:1.8rem}.metrics span{text-transform:capitalize;color:#66736b}.cards{gap:.8rem;margin-bottom:2rem;display:grid}.cards article{background:#fff;border:1px solid #e5e0d6;border-radius:12px;align-items:flex-start;gap:1rem;padding:1.15rem;display:flex}.cards svg{color:#b55c3c;flex:none}.cards p{color:#687168;margin:.2rem 0}.cards a{color:#a55036;align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.grow{flex:1}.empty{background:#eeeae2;border-radius:10px;padding:1rem}.toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.questions{gap:1rem;display:grid}.questions article{background:#fff;border:1px solid #e5e0d6;border-radius:12px;padding:1.4rem}.pill{float:right;text-transform:capitalize;background:#f1dbc9;border-radius:20px;margin-left:.6rem;padding:.25rem .65rem;font-size:.75rem}.pill.resuelta,.pill.programada{background:#d8e7d9}.pill.cancelada{color:#8b3428;background:#f4d4cf}blockquote{background:#f8f4ed;border-left:3px solid #d78b69;margin:1rem 0;padding:.7rem 1rem}.inline,.row{align-items:center;gap:.5rem;display:flex}.inline input{flex:1}.resolve{background:#405348;align-items:center;gap:.4rem;margin-top:.7rem;display:flex}.modal{z-index:10;background:#1f2923aa;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.modal form,.modal-card{background:#fbfaf6;border-radius:15px;gap:1rem;width:min(560px,100%);margin:auto;padding:1.7rem;display:grid;box-shadow:0 20px 70px #0004}.modal h2{margin:0}.modal label,.login label,.settings label{gap:.35rem;font-weight:600;display:grid}.check{align-items:center;display:flex!important}.check input{width:auto}.attendance{grid-template-columns:1fr 1fr auto;align-items:center;gap:.5rem;display:grid}.attendance label{gap:.5rem;display:flex}.attendance input[type=checkbox]{width:auto}input,textarea,select{background:#fff;border:1px solid #cbc9c1;border-radius:8px;width:100%;padding:.72rem}textarea{min-height:90px}.actions{justify-content:flex-end;gap:.5rem;display:flex}.ghost{color:#344239;background:#e7e4dc}.small{padding:.4rem .7rem}.error{color:#8b3428;background:#f8dcd6;border-radius:8px;padding:.7rem}.success{color:#294834;background:#d8e7d9;border-radius:8px;padding:.7rem}.login{background:#f5f1e9;grid-template-columns:minmax(360px,1fr) minmax(380px,520px);min-height:100vh;display:grid}.login-art{background:#27352d;min-height:100vh;position:relative;overflow:hidden}.login-art img{object-fit:cover;opacity:.66;width:100%;height:100%}.login-art:after{content:"";background:linear-gradient(#0000 30%,#203027e8);position:absolute;inset:0}.login-art div{z-index:1;color:#fff;position:absolute;bottom:clamp(2rem,8vh,6rem);left:clamp(2rem,6vw,6rem)}.login-art .eyebrow{color:#f0af8f}.login-art h2{margin:.7rem 0;font:700 clamp(2rem,4vw,4rem)/1.1 Libre Franklin}.login form{background:#fff;border-radius:18px;align-self:center;gap:1rem;width:min(410px,100% - 2rem);margin:auto;padding:2.7rem;display:grid;box-shadow:0 20px 60px #25352a18}.login h1{margin:0;font-family:Libre Franklin;font-size:2.5rem}.login h1 b{color:#b55c3c}.tabs{gap:.4rem;display:flex;overflow:auto}.tabs button{color:#35443a;text-transform:capitalize;background:#e5e3da}.tabs button.active{color:#fff;background:#35483c}.table{background:#fff;border-radius:12px;overflow:hidden}.table>div{border-bottom:1px solid #eee9df;justify-content:space-between;align-items:center;padding:1rem;display:flex}.table span{display:grid}.table small{color:#687168}.table em{color:#53645b;margin-top:.2rem;font-size:.82rem;font-style:normal}.settings{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.settings form{background:#fff;border:1px solid #e5e0d6;border-radius:12px;gap:1rem;padding:1.5rem;display:grid}.settings h2{margin:0}.loading{place-items:center;height:100vh;display:grid}@media (width<=800px){.login{padding:1rem;display:block}.login-art{display:none}.login form{margin:5vh auto}.shell{display:block}aside{z-index:5;height:auto;padding:.8rem;position:sticky}.brand{display:none}nav{display:flex;overflow:auto}.profile{display:none}nav button{place-items:center;gap:.15rem;min-width:72px;font-size:.78rem;display:grid}.content{padding:1.5rem 1rem}.metrics,.settings{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:flex-start}.content h1{font-size:1.8rem}.inline{display:grid}.hero{padding:1.5rem}.hero img{display:none}.attendance{grid-template-columns:1fr}.notifications{flex-wrap:wrap}}.forced-password{max-width:720px;margin:5rem auto;padding:2rem}.import-box{background:#fff;border:1px solid #dde5e2;border-radius:14px;margin:1rem 0;padding:1rem}.import-box .row{margin-top:.75rem}.toolbar select{max-width:260px}.student-table-wrap{background:#fff;border:1px solid #dedbd2;border-radius:10px;overflow-x:auto}.student-table{border-collapse:collapse;width:100%;min-width:920px;font-size:.9rem}.student-table th{z-index:1;text-align:left;background:#f0eee7;border-bottom:1px solid #cbc8bf;position:sticky;top:0}.student-table th,.student-table td{white-space:nowrap;padding:.55rem .7rem}.student-table th button{color:#344239;background:0 0;border-radius:0;gap:.35rem;padding:0;display:flex}.student-table tbody tr{cursor:pointer;border-bottom:1px solid #eeeae1}.student-table tbody tr:hover,.student-table tbody tr:focus{background:#faf2e9;outline:none}.student-table .pill{float:none;margin:0}.student-avatar{object-fit:cover;border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid}.student-avatar.fallback{color:#fff;background:#d9805e;font-weight:700}.student-avatar.large{width:72px;height:72px;font-size:1.5rem}.sheet{place-items:start center}.student-sheet{background:#fbfaf6;border-radius:15px;width:min(900px,100%);padding:1.7rem;box-shadow:0 20px 70px #0004}.student-sheet>header{border-bottom:1px solid #ddd8ce;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.student-sheet>header div{flex:1}.student-sheet h2,.student-sheet header p{margin:0}.student-sheet form{gap:1rem;display:grid}.student-sheet fieldset{border:1px solid #ddd8ce;border-radius:10px;gap:1rem;padding:1rem;display:grid}.student-sheet legend{color:#34483b;padding:0 .4rem;font-size:1.15rem;font-weight:700}.form-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.student-sheet label{gap:.3rem;font-weight:600;display:grid}.enrollment{background:#f2efe8;border-radius:9px;padding:1rem}.history{border-top:1px solid #ddd7ca;justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.history span,.document-row span{display:grid}.history small,.document-row small{color:#687168}.document-row{align-items:center;gap:1rem;padding:.7rem 0;display:flex}.document-row>span:nth-child(2){flex:1}.file-action{color:#fff;cursor:pointer;background:#b55c3c;border-radius:8px;padding:.55rem .8rem;display:inline-block!important}.file-action input{display:none}.doc-state{background:#eee1dd;border-radius:20px;padding:.3rem .55rem;font-size:.8rem}.doc-state.ok{color:#294834;background:#d8e7d9}@media (width<=800px){.form-grid{grid-template-columns:1fr}.student-sheet{padding:1rem}.document-row{flex-wrap:wrap;align-items:flex-start}}.modal-card,.modal>form{width:min(720px,100vw - 2rem);max-width:none}.student-sheet{width:min(1100px,100vw - 2rem)}:is(.form-grid label:has(input[name=nombre]),.form-grid label:has(input[name=direccion]),.form-grid label:has(input[name=titulacion_universitaria])){grid-column:1/-1}label input[type=text],label input[type=email],label input[type=url],label input[type=tel],label textarea{box-sizing:border-box;width:100%}textarea{resize:vertical;min-height:9rem}.pill.scope{color:#3730a3;background:#eef2ff;margin-left:.5rem}.error-page{background:#fff7f7;border:1px solid #fecaca;border-radius:12px;padding:2rem}.danger{color:#a11919}.loading{text-align:center;padding:2rem}@media (width<=700px){.modal-card,.modal>form,.student-sheet{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1!important}.toolbar{align-items:stretch}.toolbar input,.toolbar select{width:100%}}.syllabus{gap:1rem;display:grid}.syllabus-hero{color:#fff;background:linear-gradient(125deg,#30473a,#57705e);border-radius:20px;grid-template-columns:1fr minmax(220px,320px);align-items:end;gap:2rem;padding:clamp(1.4rem,4vw,2.5rem);display:grid;box-shadow:0 16px 45px #263a2d24}.syllabus-hero h2{margin:.4rem 0;font:700 clamp(1.6rem,3vw,2.5rem)/1.12 Libre Franklin}.syllabus-hero p{color:#dce6df;margin:0}.syllabus-hero .eyebrow{color:#f2ad8a}.progress-block{min-width:130px}.progress-track{background:#dfe6e0;border-radius:20px;height:9px;margin-bottom:.4rem;overflow:hidden}.progress-track span{border-radius:inherit;background:#d36f49;height:100%;transition:width .25s;display:block}.syllabus-hero .progress-track{background:#ffffff35}.progress-block small{color:inherit;display:block}.module-card{background:#fff;border:1px solid #dedbd2;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px #3344370a}.module-card summary{cursor:pointer;align-items:center;gap:1rem;padding:1.25rem;list-style:none;display:flex}.module-card summary::-webkit-details-marker{display:none}.module-card summary:focus-visible{outline-offset:-3px;outline:3px solid #d9805e}.module-number{color:#9a472f;background:#f3ddd1;border-radius:13px;place-items:center;width:48px;height:48px;font-weight:700;display:grid}.module-heading{flex:1;min-width:0;display:grid}.module-heading b{font-size:1.12rem}.module-heading small{color:#6c766f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.module-card summary>.progress-block{width:150px}.chevron{color:#66736b;transition:transform .2s}.module-card[open] .chevron{transform:rotate(180deg)}.resource-grid{border-top:1px solid #eee9df;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem 1.25rem 1.25rem;display:grid}.resource{background:#f9f7f2;border:1px solid #e7e1d7;border-radius:13px;grid-template-columns:auto 1fr;gap:.9rem;min-height:170px;padding:1rem;display:grid;position:relative}.resource.is-done{background:#f1f6f1;border-color:#bed2c1}.resource-icon{color:#a45035;background:#f0d9cc;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.resource-copy h3{margin:.1rem 0 .35rem;font-size:1rem}.resource-copy p{color:#687168;margin:0 0 .8rem;font-size:.86rem}.resource-kind{letter-spacing:.1em;text-transform:uppercase;color:#9a5139;font-size:.7rem;font-weight:700}.resource-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.resource-actions button{padding:.5rem .75rem}.resource-actions a{color:#8f452f;align-items:center;gap:.25rem;font-size:.85rem;font-weight:700;display:inline-flex}.complete-check{color:#4c5c52;cursor:pointer;border-top:1px solid #e4dfd5;grid-column:1/-1;align-items:center;gap:.5rem;padding-top:.7rem;font-size:.82rem;display:flex}.complete-check input{accent-color:#42604c;width:18px;height:18px}.module-empty{color:#687168;grid-column:1/-1}.viewer{z-index:30}.viewer>section{background:#171b18;border-radius:15px;grid-template-rows:auto 1fr;width:min(1100px,96vw);height:min(820px,92vh);display:grid;overflow:hidden}.viewer header{background:#fff;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;display:flex}.viewer h2{margin:.1rem 0;font-size:1.1rem}.viewer iframe,.viewer object{background:#292d2a;border:0;width:100%;height:100%}.viewer img{object-fit:contain;max-width:100%;max-height:100%;margin:auto}.syllabus-loading{text-align:center;color:#66736b;padding:4rem}.module-card>.progress-block{color:#56635b}@media (width<=800px){.syllabus-hero{grid-template-columns:1fr}.module-card summary{gap:.7rem}.module-card summary>.progress-block{display:none}.resource-grid{grid-template-columns:1fr}.module-number{width:40px;height:40px}.viewer>section{width:100%;height:90vh}.module-heading small{white-space:normal}.content:has(.syllabus){padding-left:.7rem;padding-right:.7rem}}
