:root{--bg:#f7f8f7;--surface:#fff;--ink:#20383b;--muted:#718184;--line:#e3eae8;--teal:#32aeba;--teal-dark:#12535b;--soft-teal:#e5f5f4;--peach:#f5e6dc;--gold:#d5ad6d;--shadow:0 12px 34px rgba(26,64,65,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Montserrat,Arial,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;background:#fff;border-right:1px solid var(--line);padding:28px 17px 20px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 27px}.brand-mark{width:42px;height:42px;background:var(--teal-dark);border-radius:14px;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800;font-family:Georgia,serif}.brand strong{display:block;font-size:21px;letter-spacing:-1px}.brand strong span{color:var(--teal)}.brand small{display:block;font-size:9px;letter-spacing:2.3px;color:var(--muted);font-weight:700;margin-top:1px}.course-chip{margin:0 4px 27px;padding:10px 11px;background:#f1f8f7;border-radius:9px;color:#537173;font-size:10px;font-weight:700}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#42b9a6;margin-right:7px}.nav-item{display:flex;align-items:center;gap:11px;border:0;background:transparent;width:100%;padding:13px 12px;text-align:left;color:#748486;font:600 12px Montserrat;border-radius:10px;margin-bottom:6px;cursor:pointer}.nav-item>span{font-size:18px;width:20px;text-align:center}.nav-item.active{background:var(--soft-teal);color:var(--teal-dark)}.nav-item em{font-style:normal;font-size:8px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:3px 5px;margin-left:auto}.sidebar-bottom{display:flex;gap:10px;align-items:center;margin-top:auto;background:#faf7f4;padding:13px 10px;border-radius:12px}.help-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#ead8ca;color:#785f51;font-weight:800}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom strong{font-size:10px}.sidebar-bottom small{font-size:9px;color:var(--muted);margin-top:2px}.mini-brand{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#9aa8a7;padding:22px 9px 0}.mini-brand span{color:var(--teal);letter-spacing:2px}.main{min-width:0;flex:1;padding:0 35px 25px;max-width:1600px;margin:0 auto}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px}.crumb{font-size:11px;color:#9aa6a5}.crumb span{padding:0 10px;color:#c2ccca}.crumb b{color:#425b5c;font-weight:600}.user-pill{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f0d7c8;color:#805d4e;font-size:11px;font-weight:800}.user-pill strong,.user-pill small{display:block}.user-pill strong{font-size:11px}.user-pill small{font-size:9px;color:var(--muted);margin-top:3px}.dots{border:0;background:none;color:#94a2a1;letter-spacing:2px;margin-left:12px}.view{max-width:1200px;margin:auto}.hidden{display:none!important}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.welcome-row>div:first-child{margin-left:1cm}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:800;color:var(--teal-dark);margin-bottom:10px}.welcome-row h1{font-size:32px;letter-spacing:-1.5px;line-height:1.15}.wave{color:var(--gold);font-size:23px}.subhead{font-size:12px;color:var(--muted);margin-top:9px}.premium-pill,.teacher-badge{font-size:9px;letter-spacing:.7px;font-weight:800;border:1px solid #d7ece9;color:var(--teal-dark);background:#f0faf8;padding:10px 13px;border-radius:7px;white-space:nowrap}.premium-pill span{color:#cda65d;margin-right:6px}.hero-card{position:relative;overflow:hidden;min-height:232px;border-radius:17px;background:linear-gradient(110deg,#6faeaa,#8bc8bf);color:white;display:flex;box-shadow:var(--shadow);margin-bottom:20px}.hero-copy{position:relative;z-index:2;padding:28px 32px;width:60%}.overline{font-size:9px;letter-spacing:2px;color:#a6dfdc;font-weight:700;margin-bottom:13px}.hero-copy h2{font-size:25px;line-height:1.35;letter-spacing:-.7px}.hero-copy>p{font-size:11px;color:#c5e4e1;margin-top:7px}.hero-bottom{display:flex;align-items:end;gap:30px;margin-top:22px}.hero-progress{width:210px}.progress-track{height:5px;border-radius:6px;background:rgba(255,255,255,.2);overflow:hidden;margin-bottom:7px}.progress-track div{height:100%;background:#a5ded8;border-radius:6px}.hero-progress span{font-size:9px;color:#c1e1df}.hero-progress b{color:white;margin-left:7px}.hero-stamp{border-left:1px solid rgba(255,255,255,.25);padding-left:15px;font-size:8px;letter-spacing:2px;color:#a8ded8;line-height:1.6}.hero-stamp b{font-size:10px}.hero-art{position:absolute;right:0;top:0;width:43%;height:100%;overflow:hidden}.sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#d6b77e;right:95px;top:22px;opacity:.95}.mountain{position:absolute;bottom:-54px;width:330px;height:200px;transform:rotate(34deg);border-radius:25px}.m1{right:-30px;background:#2c8985}.m2{right:95px;bottom:-95px;background:#79b8a9;transform:rotate(49deg)}.book{position:absolute;right:105px;bottom:31px;width:57px;height:73px;background:#f5e8d9;color:#1d6468;border:3px solid #fff;border-radius:5px;transform:rotate(9deg);box-shadow:5px 6px 0 rgba(0,0,0,.08);display:grid;place-items:center;font-size:22px;font-weight:800}.plane{position:absolute;right:30px;top:30px;font-size:25px;color:#dff3e9;transform:rotate(-14deg)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:35px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;gap:13px;align-items:center}.stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:19px}.teal{background:#e4f5f3;color:#278b8e}.peach{background:#f8eae0;color:#b87f5c}.lilac{background:#f0eafa;color:#8a71ad}.stat-card small{font-size:9px;color:var(--muted);display:block;margin-bottom:5px}.stat-card strong{font-size:20px;letter-spacing:-.5px}.stat-card strong span{font-size:11px;color:#9eacab;font-weight:500}.stat-card .stat-small{font-size:12px;letter-spacing:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-heading>div:first-child{margin-left:1cm}.section-heading h2{font-size:23px;letter-spacing:-.7px}.muted{color:var(--muted);font-size:11px;margin-top:6px}.legend{display:flex;gap:13px;flex-wrap:wrap;color:#7d8e8d;font-size:9px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#cbd5d3}.dot.done{background:#37aa9c}.dot.current{background:#d8b26d}.dot.locked{background:#cbd5d3}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px;position:relative;min-height:180px;transition:transform .15s,box-shadow .15s}.module-card.clickable{cursor:pointer}.module-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.module-card.locked{background:#fafbfa;color:#9aa7a5}.module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.module-number{font-size:10px;letter-spacing:1px;font-weight:800;color:#75908f}.module-symbol{height:32px;width:32px;border-radius:9px;background:#e8f5f2;display:grid;place-items:center;color:#318b89;font-size:16px}.module-card.locked .module-symbol{background:#f0f2f1;color:#aeb9b7}.status{font-size:8px;font-weight:700;padding:5px 7px;border-radius:5px;background:#eef7f4;color:#3a8c7e}.status.current{background:#fff4df;color:#a87a2c}.status.locked{background:#f0f2f1;color:#899795}.module-card h3{font-size:13px;line-height:1.45;margin-bottom:6px}.module-card p{font-size:10px;color:var(--muted);line-height:1.55;min-height:31px}.module-meta{display:flex;gap:12px;border-top:1px solid #edf0ef;margin-top:13px;padding-top:10px;color:#899997;font-size:9px}.note-card{display:flex;align-items:start;gap:12px;background:#fff9ef;border:1px solid #f2e5ce;border-radius:12px;padding:16px;margin-top:20px}.note-icon{background:#f2dfb7;color:#9b7939;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.note-card strong{font-size:11px}.note-card p{font-size:10px;color:#877b68;margin-top:4px}.teacher-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.candidate-panel,.teacher-detail{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:19px 18px 13px}.panel-head h3{font-size:15px}.panel-head p{font-size:10px;color:var(--muted);margin-top:4px}.count-badge{background:#e9f6f4;color:#27827e;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:800}.search-box{display:flex;align-items:center;gap:7px;margin:0 15px 12px;padding:9px 10px;background:#f8faf9;border:1px solid var(--line);border-radius:8px;color:#81918f}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:10px Montserrat;color:var(--ink)}.candidate-option{display:flex;align-items:center;gap:10px;padding:13px 16px;border-top:1px solid #f0f3f2;cursor:pointer}.candidate-option.selected{background:#eef8f6;border-left:3px solid var(--teal)}.candidate-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#f3e0d4;color:#926b59;font-size:10px;font-weight:800;flex-shrink:0}.candidate-option:nth-child(3n) .candidate-avatar{background:#e8e5f4;color:#7567a1}.candidate-option:nth-child(4n) .candidate-avatar{background:#dff0e8;color:#4e8974}.candidate-option strong{font-size:10px;display:block}.candidate-option small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.candidate-status{margin-left:auto;font-size:8px;color:#419282;background:#eaf7f2;border-radius:5px;padding:4px 5px}.teacher-detail{min-height:480px;padding:20px}.empty-state{text-align:center;padding:80px 20px}.empty-illustration{margin:0 auto 18px;width:70px;height:70px;border-radius:24px;background:#e7f5f2;display:grid;place-items:center;color:#258984;font-size:34px}.empty-state h3{font-size:16px}.empty-state p{max-width:290px;margin:9px auto;color:var(--muted);font-size:11px}.detail-head{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}.detail-person{display:flex;gap:12px;align-items:center}.detail-person .candidate-avatar{width:45px;height:45px;font-size:12px}.detail-person h3{font-size:17px}.detail-person p{font-size:10px;color:var(--muted);margin-top:4px}.progress-summary{background:#f1f8f7;border-radius:9px;padding:10px 12px;text-align:right;min-width:110px}.progress-summary small{display:block;color:#6e9290;font-size:8px}.progress-summary strong{font-size:17px;color:var(--teal-dark)}.teacher-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.teacher-module{border:1px solid var(--line);border-radius:10px;padding:14px}.teacher-module h4{font-size:11px;margin:0 0 4px}.teacher-module .module-sub{font-size:9px;color:var(--muted);margin-bottom:12px}.class-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #eff2f1}.class-row strong{display:block;font-size:9px}.class-row small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.mini-btn{border:1px solid #cfe5e2;background:#f1faf8;color:#247b79;border-radius:6px;padding:6px 8px;font:700 8px Montserrat;cursor:pointer;white-space:nowrap}.mini-btn:disabled{background:#f3f5f4;border-color:#e7ecea;color:#9ba8a6;cursor:default}.mini-btn.approve{background:#13565d;color:white;border-color:#13565d}.test-line{background:#faf8f3;padding:10px;border-radius:7px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.test-line span{font-size:9px}.test-line small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.approval-line{margin-top:9px;padding-top:10px;border-top:1px solid #edf0ef;display:flex;justify-content:space-between;align-items:center;gap:8px}.approval-line span{font-size:9px;font-weight:700}.approval-line small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.approval-line .approved{color:#36947e}.modal-backdrop{position:fixed;inset:0;background:rgba(20,42,43,.4);display:grid;place-items:center;padding:20px;z-index:10}.modal{background:#fff;border-radius:16px;padding:27px;max-width:480px;width:100%;position:relative;box-shadow:0 20px 70px #173a3b33}.modal-close{position:absolute;right:15px;top:11px;border:0;background:none;font-size:24px;color:#849391;cursor:pointer}.modal h3{font-size:20px;margin-bottom:8px}.modal p{font-size:11px;color:var(--muted);margin-bottom:18px}.modal label{font-size:10px;font-weight:700;display:block;margin:12px 0 6px}.modal input,.modal select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;font:11px Montserrat;color:var(--ink);background:#fff}.modal-actions{display:flex;justify-content:end;gap:8px;margin-top:20px}.primary-btn,.secondary-btn{border:0;border-radius:8px;padding:11px 14px;font:700 10px Montserrat;cursor:pointer}.primary-btn{background:var(--teal-dark);color:white}.secondary-btn{background:#f1f5f4;color:#506563}.success-msg{padding:10px;background:#edf8f3;color:#32816c;border-radius:8px;font-size:10px;margin-top:12px}footer{display:flex;gap:8px;align-items:center;margin:36px 0 0;padding:19px 0 0;border-top:1px solid var(--line);font-size:9px;color:#9ba8a6}footer span{color:#d0d8d6}.footer-heart{color:var(--teal)!important}.prototype-label{margin-left:auto;font-size:8px;letter-spacing:.7px;color:#ad9a72}@media(max-width:1000px){.sidebar{width:210px}.main{padding:0 22px 22px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-layout{grid-template-columns:240px minmax(0,1fr)}.teacher-modules{grid-template-columns:1fr}.hero-copy{width:68%}.hero-art{width:38%}}@media(max-width:1000px){.welcome-row>div:first-child,.section-heading>div:first-child{margin-left:0}}@media(max-width:720px){.app-shell{display:block}.sidebar{width:100%;padding:12px 15px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{padding:0 4px 12px}.brand-mark{width:35px;height:35px}.course-chip,.sidebar-bottom,.mini-brand{display:none}#sideNav{display:flex;gap:7px}.nav-item{margin:0;padding:10px;font-size:10px;justify-content:center}.nav-item em{display:none}.main{padding:0 15px 20px}.topbar{height:64px;margin-bottom:23px}.user-pill small{font-size:8px}.welcome-row{align-items:start;flex-direction:column}.welcome-row h1{font-size:28px}.premium-pill,.teacher-badge{align-self:flex-start}.hero-copy{padding:23px 21px;width:78%}.hero-copy h2{font-size:21px}.hero-art{width:30%;opacity:.8}.sun{right:-5px;width:65px;height:65px}.book{right:25px;width:43px;height:58px}.plane{right:10px}.hero-stamp{display:none}.stats-grid{gap:8px}.stat-card{padding:11px 8px;gap:8px;align-items:start}.stat-icon{width:31px;height:31px;font-size:15px}.stat-card small{font-size:8px;min-height:25px}.stat-card strong{font-size:16px}.stat-card .stat-small{font-size:10px}.section-heading{align-items:start;flex-direction:column}.module-grid{grid-template-columns:1fr 1fr;gap:9px}.module-card{padding:12px;min-height:175px}.module-card h3{font-size:11px}.module-card p{font-size:9px}.module-meta{gap:7px;font-size:8px}.legend{gap:9px}.teacher-layout{grid-template-columns:1fr}.candidate-panel{max-height:330px;overflow:auto}.teacher-detail{padding:13px}.teacher-modules{grid-template-columns:1fr}.detail-head{flex-direction:column}.progress-summary{text-align:left}.prototype-label{display:none}footer{font-size:8px}}@media(max-width:380px){.module-grid{grid-template-columns:1fr}.hero-copy{width:90%}.hero-art{opacity:.3}.stats-grid{grid-template-columns:1fr}.stat-card small{min-height:0}}
.check-label{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.check-label input{width:auto}.error-text{font-size:10px;color:#b74c4c;margin-top:8px;min-height:12px}
.test-preview{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px;margin-top:16px}.test-preview strong,.test-preview small{display:block}.test-preview strong{font-size:11px}.test-preview small{font-size:9px;color:var(--muted);margin-top:4px}.quiz-question{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0}.quiz-question>strong{font-size:11px}.quiz-option{display:flex!important;align-items:center;gap:8px;font-weight:500!important;margin:9px 0 0!important}.quiz-option input{width:auto}.status.done{background:#e8f7ef;color:#32896d}

/* MunayK DeutschA1 — diseño interior de los módulos (solo interfaz visual) */
.modal:has(.module-interior){width:min(920px,96vw);max-width:920px;padding:25px 27px;max-height:88vh;overflow:auto}
.module-interior .back-modules{border:0;background:transparent;color:var(--teal-dark);font:700 11px Montserrat,Arial,sans-serif;padding:0;margin:0 0 19px;cursor:pointer}
.interior-title{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:0 0 7px;color:#20383b}
.interior-description{font-size:12px;color:var(--muted);margin:0 0 18px}
.interior-intro{display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:13px;background:linear-gradient(110deg,#12535b,#19747a);color:white;margin:0 0 17px}
.interior-intro-icon{width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:#ffffff25;display:grid;place-items:center;font-size:21px}
.interior-intro strong{font-size:12px;display:block}
.interior-intro p{font-size:10px;color:#e2f1ef;margin:4px 0 0}
.module-sections{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.module-section-card{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:15px 13px;min-width:0;box-shadow:0 5px 16px rgba(26,64,65,.025)}
.section-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;font-size:23px;font-weight:700}
.section-icon.teal{background:#e0f5f3;color:#12535b}.section-icon.peach{background:#fff0e5;color:#895b43}.section-icon.lilac{background:#f1eaff;color:#5f4c89}.section-icon.rose{background:#ffe8e8;color:#914e5b}
.section-card-copy{flex:1;min-width:0}
.section-number{font-size:8px;letter-spacing:1.4px;font-weight:800;color:var(--teal-dark);margin:0 0 3px}
.section-card-copy h3{font-size:13px;margin:0 0 5px;letter-spacing:-.2px;color:#20383b}
.section-card-copy p{font-size:10px;line-height:1.5;color:#718184;margin:0 0 7px}
.section-note{display:block;font-size:9px;line-height:1.45;color:#879392;border-top:1px solid #edf0ef;padding-top:7px}
.section-card-action{display:flex;align-items:center;gap:6px;align-self:center;flex-direction:column}
.section-action-btn{border:0;border-radius:8px;padding:8px 9px;background:#e3f5f3;color:#12535b;font:700 9px Montserrat,Arial,sans-serif;white-space:nowrap;opacity:1;cursor:default}
.section-action-btn.pending{background:#eef0f2;color:#778183}
.section-chevron{font-size:18px;color:#8a9a99;line-height:1}
.module-unlock-note{display:flex;align-items:flex-start;gap:10px;margin-top:15px;border:1px solid #e9e2d4;background:#fbf8f1;border-radius:12px;padding:13px 15px}
.module-unlock-note>span{font-size:18px}
.module-unlock-note strong{font-size:11px;color:#4a514e}
.module-unlock-note p{font-size:10px;color:#78817d;margin:4px 0 0;line-height:1.5}
@media(max-width:680px){.modal:has(.module-interior){padding:20px 15px}.module-sections{grid-template-columns:1fr}.interior-title{font-size:22px}.module-section-card{padding:13px 11px}.section-card-action{max-width:105px}.section-action-btn{white-space:normal;text-align:center}}

/* Ajuste visual: área de módulo simplificada sin práctica ni test */
.module-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.module-section-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:'icon copy' 'action action';gap:12px 13px;padding:17px 16px;min-height:150px;align-content:start}
.module-section-card .section-icon{grid-area:icon}
.module-section-card .section-card-copy{grid-area:copy;min-width:0}
.module-section-card .section-card-copy h3{font-size:14px;line-height:1.35;margin-bottom:6px}
.module-section-card .section-card-copy p{font-size:11px;line-height:1.55;margin-bottom:8px}
.module-section-card .section-note{font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.module-section-card .section-card-action{grid-area:action;align-self:end;align-items:flex-start;flex-direction:row;max-width:none;margin-top:2px}
.module-section-card .section-action-btn{font-size:10px;white-space:normal;text-align:center;padding:9px 12px;max-width:100%}
.module-section-card:has(.candidate-material-list){grid-template-areas:'icon copy' 'files files' 'action action'}
.module-section-card .candidate-material-list{grid-area:files;display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin-top:2px}
.module-section-card .candidate-material-list button{max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}
.module-section-card .candidate-material-list:empty{display:none}
.module-interior .interior-description{font-size:13px;line-height:1.6}
.module-interior .interior-intro p{font-size:11px;line-height:1.5;margin:4px 0 0;color:#e7f5f4}
.module-meta{display:flex;flex-wrap:wrap;gap:8px 14px}
.candidate-class-dates{font-size:10px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted);margin-top:7px}
@media(max-width:680px){.module-sections{grid-template-columns:1fr}.module-section-card{min-height:0;grid-template-columns:40px minmax(0,1fr);padding:14px}.module-section-card .section-card-copy h3{font-size:13px}}
