:root{color:#123d4b;font-synthesis:none;text-rendering:optimizelegibility;background:#edf8f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}.access-page{background:linear-gradient(145deg,#d6eeeb 0%,#f7f1dc 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.classroom-backdrop{opacity:.78;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.paper-plane{transform-box:fill-box;transform-origin:50%}.background-child,.jumping-sheep{transform-box:fill-box;transform-origin:bottom}.child-one{animation:6s ease-in-out infinite child-wave}.child-two{animation:5.5s ease-in-out .7s infinite child-bounce}.sheep-one{animation:4.8s ease-in-out infinite sheep-hop}.sheep-two{animation:5.2s ease-in-out .9s infinite sheep-hop}.plane-one{animation:9s ease-in-out infinite plane-one}.plane-two{animation:11s ease-in-out infinite plane-two}.plane-three{animation:10s ease-in-out infinite plane-three}@keyframes plane-one{0%,to{transform:translate(0)rotate(-2deg)}50%{transform:translate(20px,-14px)rotate(4deg)}}@keyframes plane-two{0%,to{transform:translate(0)rotate(3deg)}50%{transform:translate(-18px,16px)rotate(-4deg)}}@keyframes plane-three{0%,to{transform:translate(0)rotate(5deg)}50%{transform:translate(15px,-10px)rotate(-3deg)}}@keyframes child-wave{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-7px)rotate(2deg)}}@keyframes child-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sheep-hop{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(-22px)rotate(-3deg)}58%{transform:translateY(-8px)rotate(3deg)}}.access-layout{z-index:1;width:100%;max-width:31rem;position:relative}.access-card{background:#fffffff0;border:1px solid #ffffffe6;border-radius:1.5rem;width:100%;padding:clamp(2rem,6vw,3.5rem);box-shadow:0 1.5rem 4rem #1c575e2e}.access-card--error{border-color:#df927d8c}.access-page--success .classroom-backdrop{filter:saturate(1.18)brightness(1.04);opacity:.95;transition:filter .5s,opacity .5s}.success-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:25rem;display:flex}.success-icon{color:#179b7b;margin-bottom:1.35rem}.success-state .eyebrow{color:#179b7b}.success-progress{background:#d9efea;border-radius:999px;width:min(100%,13rem);height:.35rem;margin-top:1.75rem;position:relative;overflow:hidden}.success-progress:after{border-radius:inherit;content:"";background:#179b7b;animation:.85s ease-out forwards progress-fill;position:absolute;inset:0;transform:translate(-100%)}@keyframes progress-fill{to{transform:translate(0)}}.logo-frame{background:#fff;border:1px solid #dbeae7;border-radius:.9rem;justify-content:center;align-items:center;width:min(100%,17rem);min-height:5.5rem;margin:0 auto 2rem;padding:1rem 1.4rem;display:flex}.access-logo{object-fit:contain;max-width:100%;height:auto;display:block}.eyebrow{color:#0d7881;letter-spacing:.16em;text-align:center;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:800}h1{color:#123d4b;letter-spacing:-.055em;text-align:center;max-width:10ch;margin:0 auto;font-size:clamp(2.2rem,8vw,3.5rem);line-height:.98}.intro{color:#52717a;text-align:center;max-width:26rem;margin:1.35rem auto 0;font-size:1rem;line-height:1.65}.access-form{gap:.65rem;margin-top:2rem;display:grid}.access-form label{color:#276071;margin-top:.45rem;font-size:.82rem;font-weight:800}.input-wrap{color:#6c9299;background:#fbfdfc;border:1px solid #c9dfe0;border-radius:.75rem;align-items:center;gap:.6rem;padding:0 .85rem;display:flex}.input-wrap:focus-within{border-color:#0d7881;box-shadow:0 0 0 3px #0d78811a}.form-error{color:#b95355;margin:.3rem 0 0;font-size:.82rem;line-height:1.45}.input-wrap input{color:#123d4b;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:.85rem 0}.primary-button{color:#fff;cursor:pointer;background:#0d6078;border:0;border-radius:.85rem;justify-content:center;align-items:center;width:100%;margin-top:1rem;padding:.95rem 1.25rem;font-size:.94rem;font-weight:800;transition:background .18s,transform .18s;display:inline-flex;box-shadow:0 1rem 2rem #0d60782b}.primary-button:hover{background:#0a4c61;transform:translateY(-2px)}.primary-button:disabled{cursor:wait;opacity:.82;transform:none}.button-spinner{margin-right:.55rem;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-note{color:#78949a;text-align:center;margin:1.25rem auto 0;font-size:.78rem;line-height:1.5}.classroom-page{background:linear-gradient(145deg,#d6eeeb 0%,#f7f1dc 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.classroom-welcome{text-align:center;z-index:1;background:#fffffff0;border:1px solid #ffffffe6;border-radius:1.5rem;width:100%;max-width:34rem;padding:clamp(2rem,6vw,4rem);position:relative;box-shadow:0 1.5rem 4rem #1c575e2e}.classroom-welcome h1{max-width:none}.classroom-welcome>p:last-child{color:#52717a;max-width:25rem;margin:1.25rem auto 0;line-height:1.65}@media (width<=560px){.access-page{padding:1rem}.access-card{border-radius:1.15rem;padding:1.75rem 1.25rem}.logo-frame{margin-bottom:1.5rem}h1{font-size:clamp(2.1rem,11vw,3rem)}.classroom-backdrop{opacity:.42}}@media (prefers-reduced-motion:reduce){.paper-plane,.background-child,.jumping-sheep,.button-spinner,.success-progress:after{animation:none}.success-progress:after{transform:translate(0)}}.messages-panel{--messages-green:#4fa77a;--messages-green-dark:#287153;--messages-green-soft:#eaf7ef;padding:0;overflow:hidden}.messages-panel-heading{justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,1.8rem) clamp(1.2rem,3vw,1.8rem) 1.25rem;display:flex}.messages-panel-heading h2{color:#174b5a;letter-spacing:-.05em;margin:0;font-size:clamp(1.45rem,3vw,1.9rem)}.messages-panel-heading p:last-child{color:#719198;margin:.45rem 0 0;font-size:.8rem}.messages-brand-icon{background:var(--messages-green-soft);color:var(--messages-green-dark);border-radius:.9rem;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;display:flex}.messages-status{margin:0 1.8rem .9rem;padding:.65rem .8rem;font-size:.78rem}.messages-status--error{color:#a74f3e;background:#fff1ed;border:1px solid #f0c9bf;border-radius:.65rem}.messages-status--success{background:var(--messages-green-soft);color:var(--messages-green-dark);border:1px solid #c5e7d1;border-radius:.65rem}.messages-app{border-top:1px solid #e1eee8;grid-template-columns:minmax(15rem,.78fr) minmax(0,1.55fr);min-height:34rem;display:grid}.messages-inbox{background:#f8fcfa;border-right:1px solid #e1eee8;min-width:0}.messages-inbox-top{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem .8rem;display:flex}.messages-inbox-top div{gap:.2rem;display:grid}.messages-inbox-top span{color:var(--messages-green);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:900}.messages-inbox-top strong{color:#174b5a;font-size:.95rem}.messages-new-button,.messages-send-button{background:var(--messages-green);color:#fff;cursor:pointer;border:0;border-radius:.7rem;justify-content:center;align-items:center;transition:background .16s,transform .16s;display:flex}.messages-new-button{width:2.25rem;height:2.25rem}.messages-new-button:hover,.messages-send-button:hover:not(:disabled){background:var(--messages-green-dark);transform:translateY(-1px)}.messages-search{color:#174b5a;background:#fff;border:1px solid #dcece4;border-radius:.7rem;outline:none;width:calc(100% - 2rem);margin:0 1rem .8rem;padding:.68rem .8rem;font-size:.76rem}.messages-search:focus,.messages-new-form select:focus,.messages-form input:focus{border-color:#8bc9a6;box-shadow:0 0 0 3px #4fa77a1f}.messages-conversation-list{max-height:26rem;display:grid;overflow-y:auto}.messages-conversation{color:#174b5a;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e7f0eb;align-items:center;gap:.65rem;width:100%;min-width:0;padding:.85rem 1rem;transition:background .16s;display:flex}.messages-conversation:hover,.messages-conversation--active{background:#eaf7ef}.messages-avatar{color:var(--messages-green-dark);background:#cdebd8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.78rem;font-weight:900;display:flex}.messages-avatar--large{width:2.55rem;height:2.55rem}.messages-conversation-content{gap:.18rem;width:100%;min-width:0;display:grid}.messages-conversation-content>span{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.messages-conversation-content strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.messages-conversation-content time{color:#91aaa0;flex:none;font-size:.63rem}.messages-conversation-content small{color:#7a9990;font-size:.68rem}.messages-unread-dot{background:var(--messages-green);border-radius:50%;flex:none;width:.48rem;height:.48rem}.messages-chat{background:#fff;flex-direction:column;min-width:0;display:flex;position:relative}.messages-chat-header{border-bottom:1px solid #e5efe9;align-items:center;gap:.7rem;padding:.95rem 1.1rem;display:flex}.messages-chat-header>div{gap:.2rem;min-width:0;display:grid}.messages-chat-header strong{color:#174b5a;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.messages-chat-header div span{color:#81a096;font-size:.68rem}.messages-icon-button{color:#7a9990;cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;margin-left:auto;padding:.45rem;display:flex}.messages-icon-button:hover{color:var(--messages-green-dark);background:#eff8f3}.messages-thread{background:#f3faf6;flex-direction:column;flex:1;gap:.65rem;min-height:17rem;max-height:25rem;padding:1.1rem;display:flex;overflow-y:auto}.messages-bubble{background:#fff;border:1px solid #e0eee6;border-radius:.95rem .95rem .95rem .25rem;align-self:flex-start;max-width:min(80%,29rem);padding:.65rem .8rem .45rem;box-shadow:0 .2rem .7rem #2871530a}.messages-bubble--own{background:#dff3e6;border-color:#c8e8d2;border-radius:.95rem .95rem .25rem;align-self:flex-end}.messages-bubble p{color:#315e59;white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.45}.messages-bubble footer{color:#86a298;justify-content:flex-end;align-items:center;gap:.28rem;margin-top:.28rem;font-size:.61rem;display:flex}.messages-bubble footer em{font-style:normal}.messages-bubble footer button{color:#67927d;cursor:pointer;background:0 0;border:0;align-items:center;padding:.1rem;display:flex}.messages-form{background:#fff;border-top:1px solid #e5efe9;align-items:center;gap:.5rem;padding:.75rem .9rem;display:flex}.messages-form input{color:#174b5a;background:#f7fbf8;border:1px solid #dcece4;border-radius:999px;outline:none;width:100%;min-width:0;padding:.7rem .9rem}.messages-send-button{flex:none;width:2.35rem;height:2.35rem}.messages-send-button:disabled{cursor:not-allowed;background:#b9d6c4}.messages-empty,.messages-compose-empty{color:#80a095;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;min-height:12rem;padding:1.25rem;display:flex}.messages-empty strong,.messages-compose-empty h3{color:#386b5d;margin:0;font-size:.85rem}.messages-empty span,.messages-compose-empty p{max-width:15rem;margin:0;font-size:.75rem;line-height:1.45}.messages-compose-empty{flex:1}.messages-compose-icon{background:var(--messages-green-soft);color:var(--messages-green);border-radius:50%;justify-content:center;align-items:center;width:3.4rem;height:3.4rem;margin-bottom:.25rem;display:flex}.messages-new-form{background:#f3faf6;border-top:1px solid #e5efe9;gap:.5rem;padding:.85rem 1rem 1rem;display:grid}.messages-new-form label{color:#47766a;font-size:.7rem;font-weight:800}.messages-new-form select{color:#174b5a;background:#fff;border:1px solid #dcece4;border-radius:.65rem;outline:none;padding:.65rem .75rem}@media (width<=760px){.messages-app{grid-template-columns:1fr}.messages-inbox{border-bottom:1px solid #e1eee8;border-right:0}.messages-conversation-list{max-height:11rem;display:flex;overflow:auto hidden}.messages-conversation{border-bottom:0;border-right:1px solid #e7f0eb;flex:0 0 13rem}.messages-thread{min-height:16rem}}.dashboard-page{background:#eaf5f3;min-height:100vh;padding:1.25rem;position:relative;overflow:hidden}.dashboard-page .classroom-backdrop{opacity:.26}.dashboard-shell{z-index:1;background:#ffffffad;border:1px solid #ffffffd9;border-radius:1.5rem;grid-template-columns:14.5rem minmax(0,1fr);width:100%;max-width:none;min-height:calc(100vh - 2.5rem);margin:0;display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 5rem #1c575e21}.dashboard-sidebar{color:#e9fbf6;background:#124c5d;flex-direction:column;padding:1.6rem 1rem 1rem;display:flex}.dashboard-brand{align-items:center;gap:.65rem;padding:0 .45rem 2.5rem;display:flex}.dashboard-brand-mark{color:#124c5d;letter-spacing:-.04em;background:#f4c978;border-radius:.7rem;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:.7rem;font-weight:900;display:flex}.dashboard-brand strong,.dashboard-brand span{display:block}.dashboard-brand strong{letter-spacing:-.02em;font-size:.76rem}.dashboard-brand span{color:#a9d8d1;margin-top:.22rem;font-size:.68rem}.dashboard-nav{gap:.35rem;display:grid}.dashboard-nav-item,.dashboard-sign-out{color:#b9ded9;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.7rem;width:100%;padding:.8rem .75rem;font-size:.82rem;transition:background .16s,color .16s;display:flex}.dashboard-nav-item:hover,.dashboard-nav-item--active{color:#fff;background:#ffffff21}.dashboard-nav-item{position:relative}.dashboard-nav-label{flex:1}.dashboard-nav-badge{color:#fff;background:#65bf8a;border:2px solid #124c5d;border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;font-size:.62rem;font-weight:900;display:flex}.dashboard-sign-out{margin-top:auto}.dashboard-sign-out:hover{color:#fff;background:#ffffff17}.dashboard-content{min-width:0;padding:clamp(1.5rem,4vw,3.3rem)}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.dashboard-header h1{color:#123d4b;letter-spacing:-.06em;text-align:left;max-width:none;margin:0;font-size:clamp(2rem,4vw,3rem)}.dashboard-kicker{color:#0d7881;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .55rem;font-size:.7rem;font-weight:900}.dashboard-subtitle{color:#5c7b82;margin:.7rem 0 0;font-size:.92rem}.dashboard-profile{color:#174b5a;align-items:center;gap:.55rem;min-width:0;max-width:12rem;font-size:.82rem;display:flex}.dashboard-profile strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-profile span{color:#124c5d;background:#f4c978;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:.7rem;font-weight:900;display:flex}.dashboard-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.3rem;display:grid}.summary-card{background:#ffffffd1;border:1px solid #e0eeeb;border-radius:1rem;align-items:center;gap:.8rem;min-width:0;padding:1rem;display:flex}.summary-card--blue{border-top:3px solid #72b8c0}.summary-card--coral{border-top:3px solid #e79682}.summary-card--gold{border-top:3px solid #e4bc63}.summary-card--mint{border-top:3px solid #79b89c}.summary-icon{color:#0d7881;background:#e7f4f1;border-radius:.7rem;flex:none;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:flex}.summary-card strong,.summary-card span:last-child{display:block}.summary-card strong{color:#174b5a;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.summary-card span:last-child{color:#719198;margin-top:.18rem;font-size:.7rem}.dashboard-columns{grid-template-columns:minmax(0,1.45fr) minmax(15rem,.8fr);align-items:start;gap:1.3rem;display:grid}.dashboard-home-grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.8fr);align-items:stretch;gap:1.3rem;margin-bottom:1.3rem;display:grid}.dashboard-panel{background:#ffffffdb;border:1px solid #e0eeeb;border-radius:1.15rem;min-width:0;padding:clamp(1.1rem,2.5vw,1.6rem)}.dashboard-full-panel{min-height:28rem}.dashboard-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.dashboard-panel-heading h2{color:#174b5a;letter-spacing:-.035em;margin:0;font-size:1.25rem}.dashboard-panel-heading>svg{color:#0d7881}.dashboard-focus-panel,.dashboard-finance-panel,.dashboard-messages-panel,.dashboard-communication-panel{min-width:0}.dashboard-secondary-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:1.3rem;margin-bottom:1.3rem;display:grid}.dashboard-attendance-panel,.dashboard-communication-panel{min-width:0}.attendance-summary{background:#eff8f5;border:1px solid #d7ebe5;border-radius:1rem;gap:.45rem;min-height:9.3rem;padding:1.2rem;display:grid}.attendance-summary--falta{background:#fff2f0;border-color:#f1d0c9}.attendance-summary--tardanza{background:#fffaf0;border-color:#f1e2bb}.attendance-summary--justificada{background:#f3f0fb;border-color:#ded5f1}.attendance-summary--pendiente,.attendance-summary--unavailable{background:#f7fbfa;border-color:#e0eeeb}.attendance-summary-topline{justify-content:space-between;align-items:center;display:flex}.attendance-summary-icon{color:#26766e;background:#d9eee8;border-radius:.7rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.attendance-summary-date{color:#719198;font-size:.72rem;font-weight:700}.attendance-summary strong{color:#226a62;font-size:1.05rem}.attendance-summary--falta strong{color:#aa564e}.attendance-summary--tardanza strong{color:#9b7a37}.attendance-summary--justificada strong{color:#715c9c}.attendance-summary--pendiente strong,.attendance-summary--unavailable strong{color:#386b76}.attendance-summary p{color:#719198;margin:0;font-size:.76rem;line-height:1.45}.attendance-summary--unavailable{text-align:center;align-items:center}.attendance-summary--unavailable>svg{color:#75b3b6}.dashboard-next-event{background:linear-gradient(135deg,#e9f5f1,#f8fbf7);border:1px solid #d7ebe5;border-radius:1rem;gap:.35rem;min-height:9.3rem;padding:1.2rem;display:grid}.dashboard-next-event-label{color:#47808a;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:850}.dashboard-next-event time{color:#0d7881;font-size:.78rem;font-weight:800}.dashboard-next-event strong{color:#174b5a;font-size:1.08rem;line-height:1.25}.dashboard-next-event p{color:#719198;margin:0;font-size:.78rem;line-height:1.45}.dashboard-focus-empty,.finance-unavailable{color:#719198;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;min-height:9.3rem;display:flex}.dashboard-focus-empty svg,.finance-unavailable svg{color:#75b3b6}.dashboard-focus-empty strong,.finance-unavailable strong{color:#386b76;font-size:.85rem}.dashboard-focus-empty p,.finance-unavailable p{max-width:19rem;margin:0;font-size:.75rem;line-height:1.45}.dashboard-today-schedule{gap:.45rem;margin-bottom:.85rem;display:grid}.dashboard-schedule-row{background:#f7fbfa;border:1px solid #e0eeeb;border-radius:.8rem;grid-template-columns:auto 5.8rem minmax(0,1fr) auto;align-items:center;gap:.6rem;min-width:0;padding:.7rem .8rem;display:grid}.dashboard-schedule-row time,.dashboard-schedule-row>span:last-child{color:#719198;font-size:.7rem}.dashboard-schedule-row time{font-variant-numeric:tabular-nums;font-weight:750}.dashboard-schedule-row strong{color:#174b5a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.dashboard-schedule-marker{background:#75b3b6;border-radius:999px;width:.55rem;height:.55rem}.dashboard-schedule-marker--coral{background:#e79682}.dashboard-schedule-marker--gold{background:#e4bc63}.dashboard-schedule-marker--blue{background:#72b8c0}.dashboard-schedule-marker--purple{background:#a796cf}.dashboard-schedule-marker--green{background:#79b89c}.dashboard-schedule-empty{margin-bottom:.85rem}.dashboard-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem;display:grid}.dashboard-quick-links button{color:#0d7881;cursor:pointer;text-align:left;background:0 0;border:1px solid #e0eeeb;border-radius:.8rem;align-items:center;gap:.5rem;min-width:0;padding:.7rem;transition:background .16s,border-color .16s;display:flex}.dashboard-quick-links button:hover,.dashboard-quick-links button:focus-visible{background:#f5fbf9;border-color:#b9dcd4;outline:none}.dashboard-quick-links button span{color:#719198;flex:1;font-size:.7rem;line-height:1.3}.dashboard-quick-links button strong{color:#174b5a}.finance-summary{background:#fffaf0;border:1px solid #f1e2bb;border-radius:1rem;gap:.45rem;min-height:9.3rem;padding:1.2rem;display:grid}.finance-summary-label{color:#9b7a37;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.finance-summary strong{color:#795e29;letter-spacing:-.06em;font-size:clamp(1.8rem,4vw,2.5rem)}.finance-summary-detail{color:#a3864b;font-size:.78rem}.dashboard-messages-panel{margin-bottom:1.3rem}.message-preview-list{gap:.2rem;display:grid}.message-preview{border-bottom:1px solid #e5efed;align-items:center;gap:.75rem;min-width:0;padding:.75rem .2rem;display:flex}.message-preview:last-child{border-bottom:0}.message-preview-icon{color:#0d7881;background:#eff8f5;border-radius:.7rem;flex:none;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:flex}.message-preview-content{gap:.18rem;min-width:0;display:grid}.message-preview-content>div{align-items:center;gap:.6rem;display:flex}.message-preview-content strong{color:#174b5a;font-size:.8rem}.message-preview-content time{color:#9aafb0;font-size:.68rem}.message-preview-content>span{color:#719198;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.message-preview-dot{background:#e79682;border-radius:50%;flex:none;width:.45rem;height:.45rem;margin-left:auto}.dashboard-messages-empty{color:#719198;align-items:center;gap:.75rem;min-height:5rem;display:flex}.dashboard-messages-empty svg{color:#75b3b6;flex:none}.dashboard-messages-empty strong{color:#386b76;font-size:.85rem;display:block}.dashboard-messages-empty p{margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.dashboard-section-pill{color:#47808a;text-overflow:ellipsis;white-space:nowrap;background:#eff8f5;border-radius:999px;max-width:12rem;padding:.4rem .65rem;font-size:.68rem;overflow:hidden}.course-list{border-top:1px solid #e2eeeb}.course-list-heading{color:#789399;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:.9rem .25rem .55rem;font-size:.67rem;font-weight:800;display:flex}.course-row{color:#174b5a;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e2eeeb;grid-template-columns:2rem .35rem minmax(0,1fr) auto auto;align-items:center;gap:1rem;width:100%;padding:1rem .25rem;transition:background .18s,padding .18s;display:grid}.course-row:hover,.course-row:focus-visible{background:#f5fbf9;border-radius:.8rem;outline:none;padding-left:.8rem;padding-right:.8rem}.course-row:focus-visible{box-shadow:0 0 0 3px #0d788129}.course-row-number{color:#9bb0b1;font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.72rem;font-weight:800}.course-row-marker{background:#72b8c0;border-radius:999px;align-self:stretch;width:.3rem;min-height:2.5rem}.course-row--coral .course-row-marker{background:#e79682}.course-row--gold .course-row-marker{background:#e4bc63}.course-row--blue .course-row-marker{background:#72b8c0}.course-row--purple .course-row-marker{background:#a796cf}.course-row--green .course-row-marker{background:#79b89c}.course-row-main{gap:.2rem;min-width:0;display:grid}.course-row-eyebrow{color:#86a0a4;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.course-row-name{color:#174b5a;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:850;overflow:hidden}.course-row-status{color:#47808a;white-space:nowrap;background:#eff8f5;border-radius:999px;padding:.38rem .65rem;font-size:.68rem;font-weight:800}.course-row-action{color:#0d7881;white-space:nowrap;align-items:center;gap:.3rem;font-size:.76rem;font-weight:850;display:flex}.event-list{gap:.8rem;display:grid}.event-list--large{max-width:48rem}.event-item{border-bottom:1px solid #e5efed;gap:.25rem;padding-bottom:.8rem;display:grid}.event-item:last-child{border-bottom:0;padding-bottom:0}.event-item time{color:#0d7881;text-transform:capitalize;font-size:.7rem;font-weight:800}.event-item strong{color:#174b5a;font-size:.85rem;line-height:1.3}.event-item p{color:#719198;margin:0;font-size:.75rem;line-height:1.45}.empty-state{color:#719198;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;min-height:13rem;display:flex}.empty-state svg{color:#75b3b6;margin-bottom:.25rem}.empty-state strong{color:#386b76;font-size:.85rem}.empty-state p{max-width:17rem;margin:0;font-size:.75rem;line-height:1.5}.empty-state--small{min-height:10rem}.dashboard-view-empty{min-height:19rem}.dashboard-message{color:#b95355;background:#ffffffe0;border:1px solid #e2c5bd;border-radius:1rem;align-items:flex-start;gap:.75rem;padding:1.25rem;display:flex}.dashboard-message strong{color:#8f4549;font-size:.9rem;display:block}.dashboard-message p{color:#9c6668;margin:.3rem 0 0;font-size:.8rem;line-height:1.5}.dashboard-loading{gap:1rem;display:grid}.dashboard-skeleton,.dashboard-skeleton--large{background:#ffffffb3;border-radius:1rem;height:6rem;animation:1.5s ease-in-out infinite skeleton-pulse}.dashboard-skeleton--wide{height:5rem}.dashboard-skeleton--large{height:20rem}.dashboard-skeleton-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@keyframes skeleton-pulse{50%{opacity:.45}}.dashboard-menu-toggle{display:none}.sign-out-overlay{z-index:10;background:#0c38448c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.sign-out-card{color:#174b5a;text-align:center;background:#fffffff5;border:1px solid #ffffffe6;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.45rem;width:100%;max-width:19rem;padding:2rem;display:flex;box-shadow:0 1.5rem 4rem #0c384440}.sign-out-icon{color:#0d7881;background:#e7f4f1;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.35rem;display:flex}.sign-out-card strong{font-size:1rem}.sign-out-card>span:not(.sign-out-icon){color:#719198;font-size:.8rem}.sign-out-progress{background:#dceeea;border-radius:999px;width:100%;height:.3rem;margin-top:.9rem;position:relative;overflow:hidden}.sign-out-progress:after{border-radius:inherit;content:"";background:#0d7881;animation:.7s ease-in-out forwards sign-out-progress;position:absolute;inset:0;transform:translate(-100%)}@keyframes sign-out-progress{to{transform:translate(0)}}@media (width<=900px){.dashboard-page{padding:.75rem}.dashboard-shell{border-radius:1.15rem;min-height:calc(100vh - 1.5rem);display:block}.dashboard-sidebar{z-index:4;width:14.5rem;transition:transform .22s;position:fixed;top:.75rem;bottom:.75rem;left:.75rem;transform:translate(-115%);box-shadow:1rem 0 3rem #124c5d33}.dashboard-shell--menu-open .dashboard-sidebar{transform:translate(0)}.dashboard-menu-toggle{color:#fff;cursor:pointer;z-index:5;background:#124c5d;border:0;border-radius:.7rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;position:fixed;top:1.25rem;right:1.25rem}.dashboard-content{padding:1.5rem 1.25rem}.dashboard-header{padding-right:3rem}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-home-grid,.dashboard-secondary-grid{grid-template-columns:1fr}}@media (width<=640px){.dashboard-summary-grid,.dashboard-columns{grid-template-columns:1fr}.dashboard-profile{display:none}.dashboard-skeleton-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:2.25rem}.course-row{grid-template-columns:1.75rem .3rem minmax(0,1fr) auto;gap:.65rem}.course-row-status{display:none}.course-row-name{font-size:.9rem}.dashboard-schedule-row{grid-template-columns:auto 4.8rem minmax(0,1fr)}.dashboard-schedule-row>span:last-child{grid-column:3}}@media (prefers-reduced-motion:reduce){.dashboard-sidebar,.course-row,.dashboard-skeleton{transition:none}.dashboard-skeleton{animation:none}.sign-out-progress:after{animation:none;transform:translate(0)}}.course-detail-page .classroom-backdrop{opacity:.34}.course-detail-shell{z-index:1;background:#ffffffd1;border:1px solid #ffffffe0;border-radius:1.5rem;width:100%;max-width:68rem;min-height:calc(100vh - 2.5rem);margin:0 auto;padding:clamp(1.25rem,4vw,3rem);position:relative;box-shadow:0 1.5rem 5rem #1c575e24}.course-back-button{color:#3c7b83;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;margin-bottom:3rem;padding:.35rem 0;font-size:.82rem;font-weight:800;display:inline-flex}.course-back-button:hover{color:#124c5d}.course-detail-header{align-items:center;gap:1.1rem;max-width:52rem;margin:0 auto 2rem;display:flex}.course-detail-header h1{color:#123d4b;letter-spacing:-.06em;text-align:left;max-width:none;margin:0;font-size:clamp(2rem,5vw,3.5rem)}.course-detail-header p:last-child{color:#5c7b82;margin:.6rem 0 0;font-size:.92rem;line-height:1.5}.course-detail-icon{color:#0d7881;background:#e4f3ef;border-left:5px solid #72b8c0;border-radius:1rem;flex:none;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:flex}.course-detail-icon.course-card--coral{border-left-color:#e79682}.course-detail-icon.course-card--gold{border-left-color:#e4bc63}.course-detail-icon.course-card--purple{border-left-color:#a796cf}.course-detail-icon.course-card--green{border-left-color:#79b89c}.course-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;max-width:52rem;margin:0 auto 1.25rem;display:grid}.course-info-card{background:#ffffffc7;border:1px solid #e0eeeb;border-radius:1rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.course-info-icon{color:#0d7881;background:#eff8f5;border-radius:.7rem;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;display:flex}.course-info-card div>span{color:#719198;font-size:.7rem;display:block}.course-info-card strong{color:#174b5a;margin-top:.2rem;font-size:.88rem;display:block}.course-schedule-panel{background:#ffffffc7;border:1px solid #e0eeeb;border-radius:1.15rem;max-width:52rem;margin:0 auto;padding:clamp(1.1rem,2.5vw,1.6rem)}.course-grades-panel{background:#ffffffd1;border:1px solid #1f495b1a;border-radius:24px;margin-top:18px;padding:24px;box-shadow:0 18px 42px #1f495b14}.course-grades-list{gap:10px;display:grid}.course-grade-row{background:#f7fbfbcc;border:1px solid #1f495b1a;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:12px 16px;display:flex}.course-grade-row span{color:var(--azul-profundo,#1f495b);font-size:14px;font-weight:600}.course-grade-row strong{color:#226a70;background:#e6f2f1;border-radius:10px;place-items:center;min-width:44px;min-height:36px;font-size:17px;display:inline-grid}.course-schedule-list{gap:.65rem;display:grid}.course-schedule-row{background:#fbfdfc;border:1px solid #e5efed;border-radius:.75rem;grid-template-columns:minmax(6rem,1fr) minmax(8rem,1fr) minmax(8rem,1fr);align-items:center;gap:.7rem;padding:.9rem 1rem;display:grid}.course-schedule-row strong{color:#174b5a;font-size:.85rem}.course-schedule-row>span{color:#5c7b82;font-size:.8rem}.course-classroom{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.course-classroom svg{color:#0d7881}.course-detail-empty{min-height:12rem}.course-detail-message,.course-detail-loading{max-width:52rem;margin:0 auto}.course-detail-loading{gap:1rem;display:grid}@media (width<=640px){.course-detail-shell{border-radius:1.15rem;min-height:calc(100vh - 1.5rem);padding:1.25rem}.course-back-button{margin-bottom:2rem}.course-detail-header{flex-direction:column;align-items:flex-start}.course-detail-header h1{font-size:2.35rem}.course-detail-info-grid{grid-template-columns:1fr}.course-schedule-row{grid-template-columns:1fr;align-items:flex-start}.course-classroom{justify-content:flex-start}}.activities-panel,.course-activities-panel,.course-materials-panel{min-width:0}.activity-list,.course-activity-list,.course-material-list{gap:12px;display:grid}.activity-row{border:1px solid #1f43681a;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;transition:border-color .2s,transform .2s;display:grid}.activity-row:hover{border-color:#2e8b8959;transform:translateY(-2px)}.activity-row-icon,.course-material-icon{color:#2d8881;background:#e8f5f2;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.activity-row-main,.course-material-row>div{min-width:0}.activity-row-course,.course-activity-type{color:#2d8881;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:750;display:block}.activity-row-main strong,.course-material-row strong{color:#173a5e;margin-top:3px;font-size:15px;display:block}.activity-row-main p,.course-material-row span{color:#6a7b8b;margin:5px 0 0;font-size:13px}.activity-row-meta,.course-activity-meta{color:#7b8995;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.activity-row-meta span,.course-activity-meta span{align-items:center;gap:5px;display:inline-flex}.activity-row-side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.activity-status{color:#a26b22;white-space:nowrap;background:#fff3df;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.activity-status--submitted{color:#2e8a66;background:#e7f6ee}.activity-row-side button,.course-material-row button,.activity-submission-actions button{color:#fff;cursor:pointer;font:inherit;background:#173a5e;border:0;border-radius:9px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;display:inline-flex}.activity-row-side button:hover,.course-material-row button:hover,.activity-submission-actions button:hover{background:#2d8881}.course-learning-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;margin-top:18px;display:grid}.course-activities-panel,.course-materials-panel{background:#ffffffe0;border:1px solid #1f43681a;border-radius:22px;padding:22px}.course-activity-card{border:1px solid #1f43681a;border-radius:15px;padding:15px}.course-activity-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.course-activity-card h3{color:#173a5e;margin:9px 0 0;font-size:16px}.course-activity-card>p{color:#65798b;margin:7px 0 0;font-size:13px;line-height:1.5}.activity-submission{border-top:1px solid #1f43681a;margin-top:14px;padding-top:12px}.activity-submission-file{color:#2e8a66;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;margin-bottom:9px;font-size:12px;display:flex;overflow:hidden}.activity-submission-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-picker{color:#526e7c;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:1px dashed #a9bec8;border-radius:9px;align-items:center;gap:6px;max-width:100%;padding:8px 10px;font-size:12px;display:inline-flex;overflow:hidden}.file-picker input{display:none}.activity-submit-error{color:#ba4e4e;margin-top:8px;font-size:12px;display:block}.course-material-row{border-bottom:1px solid #1f436817;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.course-material-row:first-child{padding-top:0}.course-material-row:last-child{border-bottom:0;padding-bottom:0}.course-info-card--progress small{color:#728493;margin-top:3px;font-size:11px;display:block}@media (width<=900px){.course-learning-grid{grid-template-columns:1fr}}@media (width<=640px){.activity-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.activity-row-side{grid-column:2;align-items:flex-start}.course-activities-panel,.course-materials-panel{padding:16px}.course-material-row{grid-template-columns:auto minmax(0,1fr)}.course-material-row button{grid-column:2;justify-self:start}}.content-manager-page{justify-content:center;align-items:center;min-height:100vh;padding:24px}.content-manager-shell{z-index:1;background:#ffffffe6;border:1px solid #1f43681f;border-radius:28px;width:100%;max-width:1120px;padding:32px;position:relative;box-shadow:0 28px 80px #1d446129}.content-manager-header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.content-manager-header h1{color:#173a5e;margin:5px 0 0;font-size:clamp(2rem,4vw,3rem)}.content-manager-header p:last-child{color:#6b7d8e;margin:8px 0 0}.content-manager-mark{color:#2d8881;background:#e8f5f2;border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.content-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.content-form{background:#f8fbfbdb;border:1px solid #1f43681a;border-radius:18px;flex-direction:column;gap:8px;padding:20px;display:flex}.content-form-heading{align-items:center;gap:11px;margin-bottom:8px;display:flex}.content-form-heading>span{color:#2d8881;background:#e8f5f2;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.content-form-heading h2{color:#173a5e;margin:2px 0 0;font-size:18px}.content-form label{color:#3e566c;margin-top:5px;font-size:12px;font-weight:700}.content-form input,.content-form select,.content-form textarea{color:#173a5e;font:inherit;background:#fff;border:1px solid #cbd9df;border-radius:9px;width:100%;min-width:0;padding:10px 11px;font-size:13px}.content-form textarea{resize:vertical}.content-form-inline{grid-template-columns:1.1fr 1.4fr .65fr;gap:8px;display:grid}.content-form-inline>div{min-width:0}.content-file-picker{color:#4e6876;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:1px dashed #9db8bf;border-radius:9px;margin-top:5px;padding:10px;overflow:hidden}.content-file-picker input{display:none}.content-form-submit{align-self:flex-start;margin-top:10px}.content-form-status{align-items:center;gap:6px;margin:7px 0 0;font-size:12px;display:flex}.content-form-status--success{color:#2e8a66}.content-form-status--error{color:#ba4e4e}@media (width<=760px){.content-manager-shell{padding:21px}.content-manager-grid,.content-form-inline{grid-template-columns:1fr}}
