:root{--bg: #f5f9f6;--ink: #142018;--muted: #496050;--accent: #0d8a5c;--accent-2: #124d8f;--surface: #ffffff;--border: #d8e3dc}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at 0% 0%,#e2f5ea 0%,transparent 45%),radial-gradient(circle at 100% 0%,#dfecfb 0%,transparent 40%),var(--bg);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5}a{color:inherit}button,input,textarea,select{font:inherit}.container{width:min(1000px,92%);margin:0 auto}.app-shell{min-height:100vh}.main-content{padding:0 0 2rem}.site-header{border-bottom:1px solid var(--border);background:linear-gradient(120deg,#f4fbf7,#eef5fd);padding:1.6rem 0 1.8rem}.header-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-mark{display:inline-flex;align-items:center}.brand-logo{width:126px;height:126px;object-fit:contain;display:block}.brand-copy{margin-right:auto;padding-left:.15rem}.brand{display:inline-block;color:var(--ink);text-decoration:none;font-size:1.35rem;font-weight:700}.tagline{margin:.35rem 0 0;color:var(--muted)}.intro{margin:2.25rem 0 1.3rem}.intro h1{margin:0 0 .6rem;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}.intro p{font-size:1rem;max-width:38rem}.auth-controls{margin-left:auto;display:flex;align-items:center;gap:.5rem}.auth-user{font-size:.9rem;color:var(--muted);font-weight:600}.auth-button{border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:999px;padding:.35rem .7rem;cursor:pointer;font-weight:600}.auth-button:hover{background:#f1f6f2}.auth-info{font-size:.85rem;color:#8b5b00}.status-banner{margin:.4rem 0 1rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--border);background:#fff}.status-banner.is-error,.admin-form-status.is-error,.admin-role-status.is-error{color:#8b1f00}.status-banner.is-warning{color:#8b5b00;background:#fff4db;border-color:#f1d9aa}.status-banner.is-success,.admin-form-status.is-success,.admin-role-status.is-success{color:#096546}.eyebrow{margin:0 0 .35rem;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.module-panel-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;align-items:start;margin:1rem 0 1.4rem}.module-panel-sidebar{position:sticky;top:1rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#fff,#f4fbf7);padding:1rem;box-shadow:0 18px 34px -30px #091d1066}.module-panel-sidebar__header h2{margin:0;font-size:clamp(1.2rem,2vw,1.5rem)}.module-panel-sidebar__header p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.94rem}.module-panel-sidebar__nav{display:grid;gap:.7rem;margin-top:1rem}.module-panel-sidebar__item{border:1px solid #cfddd4;background:#fff;color:var(--ink);border-radius:14px;padding:.85rem .9rem;display:grid;grid-template-columns:44px minmax(0,1fr);gap:.75rem;align-items:center;text-align:left;cursor:pointer}.module-panel-sidebar__item.is-active{border-color:var(--accent-2);background:#eef5ff;box-shadow:0 0 0 2px #124d8f1a}.module-panel-sidebar__icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#eff7f2,#e7f0fb);color:var(--accent-2)}.module-panel-sidebar__icon svg{width:20px;height:20px;display:block}.module-panel-sidebar__text{display:grid;gap:.2rem}.module-panel-sidebar__text strong{font-size:.96rem}.module-panel-sidebar__text span{color:var(--muted);font-size:.88rem}.module-panel-content{min-width:0}.module-panel-stack{display:grid;gap:1rem}.workspace-switcher{margin:1rem 0 1.2rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(120deg,#fff,#f6fbf8);padding:1rem;display:grid;gap:1rem}.workspace-switcher__copy h2{margin:0;font-size:clamp(1.25rem,2.2vw,1.6rem)}.workspace-switcher__copy p:last-child{margin:.35rem 0 0;color:var(--muted);max-width:44rem}.workspace-switcher__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.workspace-switcher__option{border:1px solid #cfddd4;background:#fff;color:var(--ink);border-radius:14px;padding:.85rem .9rem;text-align:left;cursor:pointer;display:grid;gap:.2rem}.workspace-switcher__option strong{font-size:.96rem}.workspace-switcher__option span{color:var(--muted);font-size:.88rem}.workspace-switcher__option.is-active{border-color:var(--accent-2);background:#eef5ff;box-shadow:0 0 0 2px #124d8f1a}.workspace-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:.95rem 0 1rem}.workspace-stat{border:1px solid var(--border);border-radius:16px;background:#ffffffeb;padding:.95rem 1rem;box-shadow:0 16px 30px -28px #091d1066}.workspace-stat__label{margin:0;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.workspace-stat__value{display:block;margin-top:.35rem;font-size:clamp(1.4rem,3vw,2rem);line-height:1}.workspace-stat__detail{margin:.4rem 0 0;color:var(--muted);font-size:.9rem}.management-dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.95fr);gap:1rem;margin:0 0 1.6rem;align-items:start}.management-dashboard--lessons{grid-template-columns:1fr}.management-dashboard--lessons .workspace-card--form{order:-1}.workspace-card{border:1px solid var(--border);border-radius:16px;background:#fff;padding:1rem;box-shadow:0 18px 32px -30px #091d1073}.workspace-card--wide{margin-bottom:1rem}.workspace-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.9rem}.workspace-card__header h3{margin:0;font-size:1.15rem}.workspace-card__intro{margin:.35rem 0 0;color:var(--muted)}.catalog-section-header{margin:1rem 0 .7rem}.catalog-section-header h2{margin:0;font-size:clamp(1.3rem,2.5vw,1.65rem)}.catalog-section-header p:last-child{margin:.35rem 0 0;color:var(--muted);max-width:46rem}.resource-list{display:grid;gap:.8rem}.resource-row{border:1px solid #d9e4dc;border-radius:14px;background:#fbfdfb;padding:.9rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.resource-row__main{min-width:0;flex:1}.resource-row__headline{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.resource-row__eyebrow{margin:0;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.resource-row__title{margin:.2rem 0 .25rem;font-size:1rem}.resource-row__description{margin:0;color:var(--muted)}.resource-row__meta{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.resource-meta{display:inline-flex;align-items:center;border:1px solid #d5e0d8;background:#fff;color:#355248;border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:700}.resource-meta--success{border-color:#b9dec9;background:#eef9f1;color:#0f6a41}.resource-meta--warning{border-color:#f1d9aa;background:#fff4db;color:#8b5b00}.resource-row__actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.resource-row__link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-2);background:#eef5ff;color:var(--accent-2);text-decoration:none;border-radius:999px;padding:.28rem .72rem;font-size:.8rem;font-weight:700}.resource-row__link:hover{background:#dfefff}.empty-state-box--embedded{margin:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.6rem 0 2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;box-shadow:0 16px 30px -26px #091d10;display:flex;flex-direction:column}.card-image-wrap{width:100%;height:150px;border-radius:10px;overflow:hidden;margin-bottom:.75rem;border:1px solid var(--border);background:#edf4ef}.card-image{width:100%;height:100%;object-fit:cover;display:block}.card-order{display:inline-flex;align-self:flex-start;margin:0 0 .45rem;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.card h2{margin:0;font-size:1.15rem}.card p{color:var(--muted);margin:.5rem 0 .8rem;font-size:1rem}.card-link{display:inline-block;text-decoration:none;color:#fff;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);padding:.5rem .85rem;border-radius:9px;font-size:.98rem}.card-footer{margin-top:auto;display:grid;gap:.65rem}.card-admin-actions{display:flex;gap:.45rem;flex-wrap:wrap}.empty-state-box{margin:.85rem 0 2rem;border:1px dashed #bfd1c4;border-radius:14px;background:#ffffffd1;padding:1rem 1.05rem}.empty-state-box h2{margin:0 0 .35rem;font-size:1.15rem}.empty-state-box p{margin:0;color:var(--muted)}.course-page h1{margin-bottom:.2rem}.summary{color:var(--muted)}.back-link{color:var(--accent-2)}.course-header{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1rem;align-items:center;margin-bottom:.5rem}.course-cover{width:100%;max-height:170px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.site-footer{margin-top:2rem;border-top:1px solid var(--border);background:linear-gradient(120deg,#eef5fd,#f4fbf7);padding:1.7rem 0}.footer-content{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.footer-content h3{margin:0 0 .5rem;font-size:1rem}.footer-content p{margin:0;color:var(--muted)}.footer-links{margin:0;padding:0;list-style:none}.footer-links li+li{margin-top:.35rem}.footer-links a{color:var(--accent-2);text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-empty{color:var(--muted)}.video-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin-top:1rem}.video-player-box{margin-top:1rem}.video-player-frame{width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#000}.video-player-frame iframe,.empty-player{width:100%;aspect-ratio:16 / 9;border:0;display:block}.empty-player{display:grid;place-items:center;color:#fff}.video-current{margin:.55rem 0 0;color:var(--muted)}.video-current-secondary{margin-top:.2rem;font-size:.92rem}.lesson-material-selector{margin-top:.9rem;border:1px solid var(--border);border-radius:14px;background:#fff;padding:.85rem .95rem}.lesson-material-selector__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.lesson-material-selector__header h3{margin:.15rem 0 0;font-size:1rem}.lesson-material-selector__eyebrow{margin:0;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lesson-material-selector__count{margin:0;color:var(--muted);font-size:.88rem;white-space:nowrap}.lesson-material-selector__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.8rem}.lesson-material-selector__button{border:1px solid #c9d7ce;background:#f7faf7;color:var(--ink);border-radius:12px;padding:.75rem .8rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.lesson-material-selector__button.is-active{border-color:var(--accent-2);background:#eef5ff;box-shadow:0 0 0 2px #124d8f1a}.lesson-material-selector__type{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.lesson-objective-box{margin-top:.75rem;border:1px solid var(--border);border-radius:12px;background:#fff;padding:.8rem .9rem}.lesson-objective-box.is-private{border-color:#f1d9aa;background:#fff8e7}.lesson-objective-label{margin:0 0 .25rem;color:var(--accent-2);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-objective-text{margin:0;color:var(--ink);white-space:pre-wrap}.lesson-objective-note{margin:.45rem 0 0;color:#8b5b00;font-size:.88rem}.gallery-title{margin:calc(1.3rem + 20px) 0 .4rem}.video-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-align:left;padding:0}.video-card-button{width:100%;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.video-card-media{width:100%;aspect-ratio:16 / 9;display:block;overflow:hidden;position:relative;display:grid;place-items:center;border-bottom:1px solid rgba(20,32,24,.08)}.video-card-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff29,#fff0);pointer-events:none}.video-card-media.is-video{background:#08111d}.video-card-media.is-material{padding:1rem}.video-card-media.is-pdf{background:linear-gradient(135deg,#f0f2ff,#ffe1e1)}.video-card-media.is-slide{background:linear-gradient(135deg,#fff3cc,#ffe28f)}.video-card-media.is-google-drive{background:linear-gradient(135deg,#eef7ff,#d9eee8)}.video-card-media.is-exercicio{background:linear-gradient(135deg,#f3f9e7,#dff0be)}.video-card-thumbnail{display:block;position:relative;z-index:1}.video-card-thumbnail.is-video{width:100%;height:100%;object-fit:cover}.video-card-thumbnail.is-material{width:min(72%,112px);max-height:calc(100% - .75rem);object-fit:contain;filter:drop-shadow(0 14px 22px rgba(20,32,24,.18))}.video-card h3{margin:.55rem .7rem .25rem;font-size:1rem}.video-card p{margin:0 .7rem .8rem;color:var(--muted);font-size:.92rem}.video-card.is-active{border-color:var(--accent-2);box-shadow:0 0 0 2px #124d8f1f}.video-card.is-disabled{filter:grayscale(1);opacity:.55}.video-card.is-disabled h3,.video-card.is-disabled p{color:#5f6762}.video-card.is-disabled .video-card-button{cursor:not-allowed}.video-card.is-disabled.is-active{border-color:#9da9a1;box-shadow:0 0 0 2px #63706726}.admin-toggle{border:1px solid #c8d4cd;background:#fffffff5;color:#1f2a23;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700;cursor:pointer}.admin-actions{position:absolute;top:.5rem;right:.5rem;z-index:1;display:flex;gap:.35rem}.admin-action{border:1px solid #c8d4cd;background:#fffffff5;color:#1f2a23;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700;cursor:pointer}.admin-action:disabled,.admin-toggle:disabled{opacity:.55;cursor:not-allowed}.admin-delete{border-color:#efb8b0;color:#8b1f00}.list-box{border:1px solid var(--border);background:#fff;border-radius:12px;padding:.7rem .9rem;margin:.4rem 0 1rem}.list-box summary{cursor:pointer;font-weight:700;color:var(--ink)}.course-list{margin:.7rem 0 0;padding-left:0;list-style:none}.course-list li+li{margin-top:.45rem}.admin-form-box{margin:.85rem 0 .7rem;border:1px solid var(--border);border-radius:12px;background:#fff;padding:.85rem .95rem}.admin-form-box h3{margin:0 0 .6rem;font-size:1rem}.admin-lesson-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.admin-lesson-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted);font-weight:600}.admin-lesson-form__full{grid-column:1 / -1}.admin-lesson-form input[type=text],.admin-lesson-form input[type=number],.admin-lesson-form select,.admin-lesson-form textarea,.admin-role-form input[type=text],.admin-role-form select{width:100%;border:1px solid #c9d7ce;border-radius:8px;padding:.5rem .6rem;font:inherit;color:var(--ink);background:#fff}.admin-lesson-form textarea{resize:vertical;min-height:76px}.lesson-material-editor{border:1px solid #d9e4dc;border-radius:14px;background:#f8fbf8;padding:.9rem}.lesson-material-editor__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.lesson-material-editor__eyebrow{margin:0;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lesson-material-editor__header h4{margin:.15rem 0 0;font-size:1rem;color:var(--ink)}.lesson-material-editor__summary{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.admin-add-material{border:1px solid #0d8a5c;background:#0d8a5c;color:#fff;border-radius:999px;padding:.45rem .8rem;font-weight:700;cursor:pointer;white-space:nowrap}.lesson-material-editor__list{display:grid;gap:.75rem;margin-top:.85rem}.lesson-material-editor__item{border:1px solid #d7e2da;border-radius:12px;background:#fff;padding:.8rem}.lesson-material-editor__item-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.lesson-material-editor__item-index{margin:0;color:var(--ink);font-weight:700}.lesson-material-editor__item-note{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}.lesson-material-editor__actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.lesson-material-editor__action{border:1px solid #c8d4cd;background:#fff;color:#1f2a23;border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:700;cursor:pointer}.lesson-material-editor__action.is-danger{border-color:#efb8b0;color:#8b1f00}.lesson-material-editor__action:disabled,.admin-add-material:disabled{opacity:.55;cursor:not-allowed}.lesson-material-editor__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.lesson-material-editor__field-full{grid-column:1 / -1}.checkbox-row{align-self:end;flex-direction:row!important;align-items:center;gap:.45rem;font-weight:600;color:var(--ink)!important}.admin-submit{align-self:end;justify-self:start;border:1px solid #0d8a5c;background:#0d8a5c;color:#fff;border-radius:8px;padding:.45rem .75rem;font-weight:700;cursor:pointer}.admin-form-actions{display:flex;gap:.5rem;align-items:center}.admin-cancel{border:1px solid #c9d7ce;background:#fff;color:var(--ink);border-radius:8px;padding:.45rem .75rem;font-weight:700;cursor:pointer}.admin-form-status,.admin-role-status{margin:.65rem 0 0;font-size:.9rem;color:var(--muted)}.admin-role-box{margin:.85rem 0 .7rem;border:1px solid #f1d9aa;border-radius:12px;background:#fff8e7;padding:.85rem .95rem}.admin-role-box h3{margin:0 0 .6rem;font-size:1rem}.admin-role-form{display:grid;grid-template-columns:2fr 1fr auto;gap:.65rem;align-items:end}.admin-role-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:#6c4f1a;font-weight:600}.admin-role-submit{border:1px solid #8d6400;background:#8d6400;color:#fff;border-radius:8px;padding:.45rem .75rem;font-weight:700;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#1420186b}.modal-card{width:min(480px,100%);border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 28px 80px -32px #14201873;padding:1.15rem}.modal-card h3{margin:0 0 .45rem;font-size:1.2rem}.modal-card p{margin:0;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.modal-cancel,.modal-confirm{border-radius:9px;padding:.55rem .85rem;font-weight:700;cursor:pointer}.modal-cancel{border:1px solid #c9d7ce;background:#fff;color:var(--ink)}.modal-confirm{border:1px solid var(--accent-2);background:var(--accent-2);color:#fff}.modal-confirm.is-danger{border-color:#b53a1b;background:#b53a1b}.modal-cancel:disabled,.modal-confirm:disabled{opacity:.65;cursor:wait}@media (max-width: 1100px){.module-panel-shell{grid-template-columns:1fr}.module-panel-sidebar{position:static}.video-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.management-dashboard,.management-dashboard--lessons{grid-template-columns:1fr}.lesson-material-selector__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.header-main{flex-wrap:wrap}.brand-copy{margin-right:0}.auth-controls{width:100%;margin-left:0;justify-content:flex-start}.module-panel-sidebar__item{grid-template-columns:40px minmax(0,1fr)}.workspace-switcher__options,.workspace-stats,.resource-row{grid-template-columns:1fr}.resource-row{flex-direction:column}.resource-row__actions{width:100%;justify-content:flex-start}.course-header,.admin-lesson-form,.admin-role-form{grid-template-columns:1fr}.lesson-material-selector__header,.lesson-material-editor__header,.lesson-material-editor__item-top,.lesson-material-editor__grid{grid-template-columns:1fr;flex-direction:column}.lesson-material-selector__list{grid-template-columns:1fr}.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.brand-logo{width:110px;height:110px}}@media (max-width: 480px){.video-gallery{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-cancel,.modal-confirm{width:100%}}
