*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;background:transparent;cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid #2f7a6b;outline-offset:4px}.app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#faf7f2;min-height:100vh;--t: #1b1f3b;--border: #e4e1d8;--border-strong: #b7bdc9}.app-content{max-width:720px;margin:0 auto;padding:24px 20px 60px}.app-content-student-home,.app-content-teacher{max-width:980px;padding-top:32px}.student-home{display:grid;gap:26px}.student-home-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:34px;overflow:hidden;min-height:222px;padding:32px 36px;border-radius:24px;background:linear-gradient(115deg,#1b1f3b 10%,#224653);color:#fff;box-shadow:0 14px 32px #1b1f3b1c}.student-home-hero:after{position:absolute;top:-115px;right:155px;width:340px;height:340px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff05;content:"";pointer-events:none}.student-home-hero-copy,.student-home-progress{position:relative;z-index:1}.student-home-hero-copy{max-width:510px}.student-home-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#a7ddcb;font-size:11px;font-weight:800;letter-spacing:.1em}.student-home-hero h1{max-width:480px;margin:14px 0 10px;font-size:clamp(28px,3vw,35px);letter-spacing:-.035em;line-height:1.12}.student-home-hero p{max-width:445px;margin:0;color:#d6e3e4;font-size:15px;line-height:1.5}.student-home-progress{flex:0 0 236px;padding:20px;border:1px solid #ffffff3a;border-radius:18px;background:#ffffff17}.student-home-progress-label{color:#d5e9e7;font-size:10px;font-weight:800;letter-spacing:.09em}.student-home-progress strong{display:block;margin:7px 0 14px;font-size:38px;letter-spacing:-.04em;line-height:1}.student-home-progress-track,.level-card-progress-track{display:block;overflow:hidden;height:7px;border-radius:999px}.student-home-progress-track{background:#ffffff3d}.student-home-progress-track>span,.level-card-progress-track>span{display:block;height:100%;border-radius:inherit;transition:width .3s ease}.student-home-progress-track>span{background:#a7ddcb}.student-home-progress small{display:block;margin-top:10px;color:#d5e9e7;font-size:12px}.student-home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;color:#2f7a6b}.student-home-section-heading span{color:#2f7a6b;font-size:11px;font-weight:800;letter-spacing:.1em}.student-home-section-heading h2{margin:5px 0 0;color:#1b1f3b;font-size:25px;letter-spacing:-.025em}.level-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.level-card{display:flex;flex-direction:column;gap:17px;width:100%;min-height:222px;padding:22px;border:1px solid #e4e1d8;border-radius:20px;background:#fff;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.level-card-featured{grid-column:1 / -1;min-height:214px}.level-card.is-unlocked{border-color:color-mix(in srgb,var(--level-accent) 30%,white);background:linear-gradient(110deg,var(--level-soft),#fff 74%);box-shadow:0 8px 22px #1b1f3b0b}.level-card.is-unlocked:hover{transform:translateY(-3px);border-color:var(--level-accent);box-shadow:0 14px 28px #1b1f3b16}.level-card.is-locked{background:#f8f7f3;cursor:not-allowed}.level-card-top,.level-card-main,.level-card-meta,.level-card-bottom{display:flex;align-items:center}.level-card-top{justify-content:space-between;gap:12px}.level-card-number{color:var(--level-accent);font-size:11px;font-weight:800;letter-spacing:.1em}.level-card.is-locked .level-card-number{color:#747d8b}.level-card-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--level-soft);color:var(--level-accent);font-size:11px;font-weight:800;white-space:nowrap}.level-card.is-locked .level-card-status{background:#e9e7e1;color:#666f7d}.level-card-main{gap:16px}.level-card-icon{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--level-accent) 18%,white);border-radius:17px;background:#fff;color:var(--level-accent)}.level-card.is-locked .level-card-icon{border-color:#e4e1d8;background:#f0eee8;color:#888d9b}.level-card-copy{display:grid;gap:3px;min-width:0}.level-card-copy strong{color:#1b1f3b;font-size:21px;letter-spacing:-.025em;line-height:1.2}.level-card-featured .level-card-copy strong{font-size:26px}.level-card-copy>span{color:#5b6070;font-size:13px;line-height:1.45}.level-card-meta{gap:16px;color:#53606d;font-size:12px;font-weight:600}.level-card-meta>span{display:inline-flex;align-items:center;gap:6px}.level-card-bottom{flex-wrap:wrap;gap:10px;min-height:28px;margin-top:auto;padding-top:14px;border-top:1px solid #1b1f3b12}.level-card-progress-track{flex:1 1 105px;max-width:160px;background:#d7e3df}.level-card-progress-track>span{background:var(--level-accent)}.level-card-progress-label{color:#53606d;font-size:12px;font-weight:600}.level-card-action{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--level-accent);font-size:13px;font-weight:800;white-space:nowrap}.level-card-locked-hint{color:#69717d;font-size:12px;line-height:1.4}.app-content-level{max-width:980px;padding-top:32px}.level-page{display:grid;gap:22px}.level-page-hero{position:relative;display:flex;align-items:center;gap:20px;min-height:188px;padding:28px;overflow:hidden;border:1px solid color-mix(in srgb,var(--level-accent) 25%,white);border-radius:22px;background:linear-gradient(110deg,var(--level-soft),#fff 82%)}.level-page-hero:after{position:absolute;top:-140px;right:145px;width:320px;height:320px;border:1px solid color-mix(in srgb,var(--level-accent) 15%,white);border-radius:50%;content:"";pointer-events:none}.level-page-hero-icon{display:grid;place-items:center;flex:0 0 auto;width:60px;height:60px;border-radius:18px;background:var(--level-accent);color:#fff;box-shadow:0 9px 18px #1b1f3b18}.level-page-hero-copy{position:relative;z-index:1;flex:1;min-width:0}.level-page-eyebrow,.level-page-list-heading>div>span{color:var(--level-accent);font-size:11px;font-weight:800;letter-spacing:.09em}.level-page-hero h1{margin:8px 0 6px;color:#1b1f3b;font-size:32px;letter-spacing:-.035em;line-height:1.15}.level-page-hero p{max-width:440px;margin:0;color:#52616a;font-size:14px;line-height:1.5}.level-page-progress{position:relative;z-index:1;flex:0 0 220px;padding:18px;border:1px solid color-mix(in srgb,var(--level-accent) 18%,white);border-radius:16px;background:#ffffffd9}.level-page-progress>span{color:var(--level-accent);font-size:10px;font-weight:800;letter-spacing:.08em}.level-page-progress strong{display:block;margin:7px 0 12px;color:#1b1f3b;font-size:32px;letter-spacing:-.04em;line-height:1}.level-page-progress-track,.section-card-progress-track{display:block;overflow:hidden;height:7px;border-radius:999px;background:color-mix(in srgb,var(--level-accent) 15%,white)}.level-page-progress-track>span,.section-card-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--level-accent);transition:width .3s ease}.level-page-progress small{display:block;margin-top:9px;color:#5b6070;font-size:12px}.level-page-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.level-page-list-heading h2{margin:5px 0 0;color:#1b1f3b;font-size:24px;letter-spacing:-.025em}.level-page-list-heading>span{color:#5b6070;font-size:13px;font-weight:600}.section-list{display:grid;gap:14px}.section-card{display:flex;align-items:flex-start;gap:18px;width:100%;padding:21px;border:1px solid #e4e1d8;border-radius:19px;background:#fff;text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.section-card.is-unlocked{border-color:color-mix(in srgb,var(--level-accent) 29%,white);background:linear-gradient(105deg,var(--level-soft),#fff 60%);box-shadow:0 8px 22px #1b1f3b0b}.section-card.is-unlocked:hover{transform:translateY(-2px);border-color:var(--level-accent);box-shadow:0 13px 26px #1b1f3b14}.section-card.is-locked{background:#f9f8f5;cursor:not-allowed}.section-card-index{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:16px;background:var(--level-accent);color:#fff;font-size:20px;font-weight:800;letter-spacing:-.04em}.section-card.is-locked .section-card-index{background:#eeece6;color:#777f8b}.section-card-content{display:grid;gap:6px;flex:1;min-width:0}.section-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--level-accent);font-size:11px;font-weight:800;letter-spacing:.09em}.section-card.is-locked .section-card-topline{color:#737c89}.section-card-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--level-soft);color:var(--level-accent);font-size:11px;letter-spacing:0;white-space:nowrap}.section-card.is-locked .section-card-status{background:#ebe9e3;color:#68717c}.section-card-content>strong{color:#1b1f3b;font-size:21px;letter-spacing:-.025em;line-height:1.2}.section-card-description{display:-webkit-box;overflow:hidden;color:#5b6070;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.section-card-footer,.section-card-meta,.section-card-meta>span,.section-card-action,.section-card-action-label{display:flex;align-items:center}.section-card-footer{justify-content:space-between;gap:14px;margin-top:8px;padding-top:12px;border-top:1px solid #1b1f3b12}.section-card-meta{flex-wrap:wrap;gap:13px;color:#53606d;font-size:12px;font-weight:600}.section-card-meta>span{gap:5px}.section-card-action{gap:8px;color:var(--level-accent);font-size:12px;font-weight:800;white-space:nowrap}.section-card-progress-track{width:90px}.section-card-action-label{gap:4px;margin-left:12px;font-size:13px}.section-card-locked-hint{color:#6b7380;font-size:12px;line-height:1.4}.section-page{display:grid;gap:22px}.section-overview{overflow:hidden;border:1px solid #e4e1d8;border-radius:17px;background:#fff}.section-overview summary{display:flex;align-items:center;gap:12px;padding:15px 19px;cursor:pointer;list-style:none}.section-overview summary::-webkit-details-marker{display:none}.section-overview summary:hover{background:#f7faf8}.section-overview[open] summary{border-bottom:1px solid #e4e1d8}.section-overview-icon{display:grid;place-items:center;flex:0 0 auto;width:41px;height:41px;border-radius:12px;background:var(--level-soft);color:var(--level-accent)}.section-overview-copy{display:grid;gap:3px;flex:1;min-width:0}.section-overview-copy strong{color:#1b1f3b;font-size:14px}.section-overview-copy small{color:#5b6070;font-size:12px;line-height:1.35}.section-overview summary>svg{flex:0 0 auto;color:var(--level-accent);transition:transform .15s ease}.section-overview[open] summary>svg{transform:rotate(180deg)}.section-overview-content{padding:16px}.section-info-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:16px}.section-info-grid-single{grid-template-columns:1fr}.section-info-card{padding:23px;border:1px solid #e4e1d8;border-radius:18px;background:#fff;box-shadow:0 6px 18px #1b1f3b08}.section-info-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border-radius:12px;background:var(--level-soft);color:var(--level-accent)}.section-info-card h2{margin:0 0 9px;color:#1b1f3b;font-size:18px;letter-spacing:-.02em}.section-info-card p{margin:0;color:#4f5966;font-size:14px;line-height:1.6}.section-goals-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.section-goals-list li{display:flex;align-items:flex-start;gap:9px;color:#4f5966;font-size:13px;line-height:1.5}.section-goals-list li>span{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--level-soft);color:var(--level-accent)}.section-modules-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.section-modules-heading>div>span{color:var(--level-accent);font-size:11px;font-weight:800;letter-spacing:.09em}.section-modules-heading h2{margin:5px 0 0;color:#1b1f3b;font-size:24px;letter-spacing:-.025em}.section-modules-heading>span{color:#5b6070;font-size:13px;font-weight:600}.section-modules{display:grid;gap:16px}.section-module{overflow:hidden;border:1px solid #e4e1d8;border-radius:19px;background:#fff;box-shadow:0 8px 22px #1b1f3b09}.section-module-heading{display:flex;align-items:center;gap:13px;padding:18px 21px;background:linear-gradient(105deg,var(--level-soft),#fff 82%)}.section-module-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#fff;color:var(--level-accent)}.section-module-heading>div{flex:1;min-width:0}.section-module-heading>div>span{color:var(--level-accent);font-size:10px;font-weight:800;letter-spacing:.09em}.section-module-heading h3{margin:3px 0 0;color:#1b1f3b;font-size:17px;line-height:1.3}.section-module-count{flex:0 0 auto;padding:7px 10px;border:1px solid color-mix(in srgb,var(--level-accent) 16%,white);border-radius:999px;background:#fff;color:#52616a;font-size:11px;font-weight:700;white-space:nowrap}.section-topic-list{border-top:1px solid #e9e6de}.section-topic{display:flex;align-items:center;gap:12px;width:100%;min-height:65px;padding:11px 21px;color:#1b1f3b;text-align:left}.section-topic+.section-topic{border-top:1px solid #f0eee9}.section-topic:hover{background:#f7faf8}.section-topic-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#f2f1ed}.section-topic-icon-enviado{background:#fbeeda}.section-topic-icon-revisar{background:#fbeae4}.section-topic-icon-aprobado{background:#eaf6f1}.section-topic-copy{display:grid;gap:3px;flex:1;min-width:0}.section-topic-copy>span{color:var(--level-accent);font-size:10px;font-weight:800;letter-spacing:.08em}.section-topic-copy strong{color:#1b1f3b;font-size:14px;line-height:1.3}.section-topic-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#f0f1f2;color:#64707d;font-size:11px;font-weight:700;white-space:nowrap}.section-topic-status-enviado{background:#fbeeda;color:#8f590e}.section-topic-status-revisar{background:#fbeae4;color:#9c3322}.section-topic-status-aprobado{background:#eaf6f1;color:#236651}.section-topic>svg{flex:0 0 auto;color:#9ba4ad}.app-header{position:sticky;top:0;z-index:10;background:#1b1f3b;color:#fff;border-bottom:1px solid #ffffff1c;box-shadow:0 4px 16px #1b1f3b12}.app-header-inner{width:min(100%,1240px);min-height:72px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.app-brand,.app-account{display:flex;align-items:center}.app-brand{flex:0 0 auto;gap:11px;padding:0;color:#fff;text-align:left}.app-brand-name{font-size:18px;font-weight:750;letter-spacing:-.025em;white-space:nowrap}.app-brand:hover .app-brand-name{color:#d7efe7}.app-brand-logo{width:42px;height:42px;object-fit:contain}.app-account{min-width:0;gap:16px;font-size:13px}.app-account .app-connections-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-height:42px;padding:0 13px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}.app-connections-button:hover,.app-connections-button[aria-pressed=true]{border-color:#fff6;background:#ffffff1f}.app-connections-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#edb454;color:#1b1f3b;font-size:11px;font-weight:800;line-height:1}.app-account-profile{display:flex;align-items:center;gap:10px;min-width:0;padding-left:16px;border-left:1px solid #ffffff30}.app-account-avatar{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:#d7efe7;color:#225d53;font-size:13px;font-weight:800;letter-spacing:-.02em}.app-account-info{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}.app-account-name{overflow:hidden;max-width:190px;color:#fff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.app-account-role{color:#bcc6d8;font-size:11px;font-weight:600}.app-account .app-logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid #ffffff3d;border-radius:10px;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}.app-logout-button:hover{border-color:#ffffff80;background:#ffffff14}.app-header :focus-visible{outline-color:#e9b65f}.notifications-screen,.connections-screen{display:grid;gap:18px}.section-back{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:4px 0;color:#2f7a6b;font-size:13px;font-weight:700}.section-back:hover{color:#225d53;text-decoration:underline}.section-hero{display:flex;align-items:center;gap:18px;min-height:154px;padding:26px 28px;border:1px solid #d9e9e1;border-radius:20px;background:linear-gradient(115deg,#eaf6f1,#f8fbf8 66%,#fff)}.section-hero-icon{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:16px;background:#2f7a6b;color:#fff;box-shadow:0 8px 18px #2f7a6b2b}.section-hero-copy{flex:1;min-width:0}.section-eyebrow{color:#2f7a6b;font-size:11px;font-weight:800;letter-spacing:.1em}.section-hero h1{margin:5px 0 4px;color:#1b1f3b;font-size:29px;letter-spacing:-.03em;line-height:1.15}.section-hero p{margin:0;color:#52616a;font-size:14px;line-height:1.5}.section-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:40px;padding:0 13px;border:1px solid #c8dcd3;border-radius:10px;background:#fff;color:#245f54;font-size:13px;font-weight:700}.section-refresh:hover{border-color:#2f7a6b;background:#f5fbf8}.section-refresh:disabled{opacity:.6}.notifications-error{margin:0;padding:12px 14px;border-radius:10px;background:#fbeae4;color:#9c3322;font-size:14px}.notifications-activities{display:grid;gap:12px}.notifications-section-heading{display:flex;align-items:center;gap:9px}.notifications-section-heading h2{margin:0;color:#1b1f3b;font-size:17px}.notifications-section-heading span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#fbeeda;color:#9f630e;font-size:12px;font-weight:800}.notifications-list{display:grid;gap:10px}.notification-item{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:1px solid #e4e1d8;border-radius:14px;background:#fff;text-align:left;box-shadow:0 4px 12px #1b1f3b08}.notification-item:hover{border-color:#2f7a6b;transform:translateY(-1px)}.notification-item-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#fbeeda;color:#a96b16}.notification-item-copy{display:grid;gap:4px;flex:1;min-width:0}.notification-item-copy strong{color:#1b1f3b;font-size:14px}.notification-item-copy small{color:#5b6070;font-size:12px;line-height:1.45}.notification-item>svg{flex:0 0 auto;color:#8c9b9b}.notifications-empty{display:flex;flex-direction:column;align-items:center;padding:42px 28px;border:1px solid #e4e1d8;border-radius:20px;background:#fff;text-align:center;box-shadow:0 8px 24px #1b1f3b09}.notifications-empty-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:#eaf6f1;color:#2f7a6b}.notifications-empty h2{margin:17px 0 5px;color:#1b1f3b;font-size:21px}.notifications-empty p{max-width:390px;margin:0;color:#5b6070;font-size:14px;line-height:1.55}.notifications-empty button{display:inline-flex;align-items:center;gap:4px;margin-top:22px;color:#2f7a6b;font-size:13px;font-weight:800}.notifications-empty button:hover{text-decoration:underline}.app-error{max-width:720px;margin:12px auto 0;padding:12px 16px;background:#fbeae4;color:#8b3021;border-radius:8px}.app-error button{margin-left:12px;text-decoration:underline;color:inherit}.connection-panel{display:grid;gap:16px}.connection-card{padding:24px;border:1px solid #e4e1d8;border-radius:18px;background:#fff;box-shadow:0 8px 24px #1b1f3b09}.connection-invite{border-color:#d9e9e1}.connection-card-heading{display:flex;align-items:flex-start;gap:14px}.connection-card-heading>div{flex:1;min-width:0}.connection-card-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:#eaf6f1;color:#2f7a6b}.connection-card-icon-amber{background:#fbeeda;color:#a96b16}.connection-kicker{color:#2f7a6b;font-size:11px;font-weight:800;letter-spacing:.09em}.connection-card h2{margin:0 0 4px;color:#1b1f3b;font-size:18px;line-height:1.25}.connection-kicker+h2{margin-top:3px}.connection-card-heading p{margin:0;color:#5b6070;font-size:13px;line-height:1.45}.connection-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:999px;background:#fbeeda;color:#9f630e;font-size:12px;font-weight:800}.connection-form{margin-top:24px}.connection-form label{display:block;margin-bottom:8px;color:#1b1f3b;font-size:13px;font-weight:700}.connection-form-controls{display:flex;gap:10px}.connection-form input{flex:1;min-width:0;min-height:46px;padding:10px 13px;border:1px solid #b7bdc9;border-radius:10px;background:#fff}.connection-form input:focus{border-color:#2f7a6b}.connection-panel button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:40px;padding:8px 12px;border:1px solid #b7bdc9;border-radius:9px;background:#fff;color:#1b1f3b;font-size:13px;font-weight:700}.connection-panel button:hover{border-color:#2f7a6b}.connection-panel button.connection-primary{border-color:#2f7a6b;background:#2f7a6b;color:#fff}.connection-panel button.connection-primary:hover{background:#27695c}.connection-panel button:disabled{opacity:.6}.connection-hint{margin:13px 0 0;color:#69747c;font-size:12px}.connection-list{margin-top:18px;border-top:1px solid #edeae4}.connection-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0 0}.connection-row+.connection-row{margin-top:15px;border-top:1px solid #edeae4}.connection-person{display:grid;gap:4px;min-width:0}.connection-person strong{color:#1b1f3b;font-size:14px}.connection-person small{overflow-wrap:anywhere;color:#5b6070;font-size:12px;line-height:1.4}.connection-actions{display:flex;gap:8px}.connection-message,.connection-loading{margin:0;padding:12px 14px;border-radius:10px;font-size:14px}.connection-error{background:#fbeae4;color:#9c3322}.connection-success{background:#eaf6f1;color:#236651;font-weight:700}.connection-loading{background:#fff;color:#5b6070}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#faf7f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b1f3b}.auth-card{width:min(100%,420px);padding:32px;border:1px solid #e4e1d8;border-radius:18px;background:#fff;box-shadow:0 12px 32px #1b1f3b10}.auth-logo{width:56px;height:56px;object-fit:contain;display:block}.auth-card h1{margin:18px 0 4px;font-size:28px}.auth-card p{color:#5b6070;margin:0 0 22px}.auth-tabs{display:flex;border-radius:10px;padding:4px;background:#f2f0ea;margin-bottom:20px}.auth-tabs button{flex:1;padding:9px;border-radius:8px;font-weight:700;color:#5b6070}.auth-tabs button[aria-pressed=true]{background:#fff;color:#1b1f3b;box-shadow:0 1px 4px #1b1f3b20}.auth-card form{display:grid;gap:8px}.auth-card form>label,.auth-card legend{font-size:14px;font-weight:700;margin-top:8px}.auth-card form>input{width:100%;border:1px solid #b7bdc9;border-radius:8px;padding:11px 12px}.auth-card .auth-role-fieldset{border:0;min-width:0;padding:0;margin:0}.auth-card .auth-role-fieldset legend{padding:0;margin-bottom:10px}.auth-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-role-option{position:relative;display:block;cursor:pointer}.auth-role-option input{position:absolute;width:1px;height:1px;opacity:0}.auth-role-option-content{display:flex;flex-direction:column;min-height:106px;padding:12px;border:1px solid #d9dcd6;border-radius:12px;background:#fff;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.auth-role-option-top{display:flex;align-items:center;justify-content:space-between;color:#2f7a6b;margin-bottom:10px}.auth-role-option-indicator{width:16px;height:16px;border:1.5px solid #aeb6b3;border-radius:50%;background:#fff}.auth-role-option-title{color:#1b1f3b;font-size:14px;font-weight:700;line-height:1.2}.auth-role-option-description{color:#5b6070;font-size:12px;line-height:1.3;margin-top:3px}.auth-role-option:hover .auth-role-option-content{border-color:#2f7a6b}.auth-role-option input:checked+.auth-role-option-content{border-color:#2f7a6b;background:#edf7f3;box-shadow:0 0 0 1px #2f7a6b}.auth-role-option input:checked+.auth-role-option-content .auth-role-option-indicator{border:5px solid #2f7a6b}.auth-role-option input:focus-visible+.auth-role-option-content{outline:3px solid #2f7a6b;outline-offset:3px}.auth-card small{color:#5b6070}.auth-card .auth-error{color:#9c3322;margin:6px 0 0}.auth-submit{margin-top:12px;padding:12px;border-radius:9px;background:#2f7a6b;color:#fff;font-weight:700}.auth-submit:disabled{opacity:.6}.c-gray{fill:#d9d5c8}.ts{font-size:12px;fill:var(--t);font-family:inherit}.leader{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3;fill:none}.skip-link{position:fixed;top:-100px;left:10px;z-index:20;padding:12px;background:#fff;color:#1b1f3b}.skip-link:focus{top:10px}.topic-page{display:grid;gap:20px}.topic-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;overflow:hidden;padding:31px 34px;border:1px solid color-mix(in srgb,var(--level-accent) 24%,white);border-radius:22px;background:linear-gradient(112deg,var(--level-soft),#fff 76%)}.topic-hero:after{position:absolute;top:-138px;right:115px;width:300px;height:300px;border:1px solid color-mix(in srgb,var(--level-accent) 16%,white);border-radius:50%;content:"";pointer-events:none}.topic-hero-copy,.topic-status{position:relative;z-index:1}.topic-hero-copy{min-width:0;max-width:670px}.topic-eyebrow,.topic-card-eyebrow,.topic-practice-header>span:last-child,.topic-submission-label{color:var(--level-accent);font-size:11px;font-weight:800;letter-spacing:.09em}.topic-module{margin:19px 0 7px;color:#56646f;font-size:13px;font-weight:700}.topic-hero h1{margin:0;color:#1b1f3b;font-size:clamp(27px,3.2vw,36px);letter-spacing:-.035em;line-height:1.16}.topic-intro{max-width:650px;margin:15px 0 0;color:#45535c;font-size:15px;line-height:1.6}.topic-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 12px;border:1px solid #dce2e2;border-radius:999px;background:#fff;color:#586474;font-size:12px;font-weight:800;white-space:nowrap}.topic-status svg{width:17px;height:17px}.topic-status-enviado{border-color:#f2d9ae;color:#955c16}.topic-status-revisar{border-color:#f2d2c6;color:#a84b36}.topic-status-aprobado{border-color:#c6e1d9;color:#256658}.topic-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,1fr);align-items:start;gap:20px}.topic-main{display:grid;gap:20px;min-width:0}.topic-card,.topic-practice{min-width:0;border:1px solid #e4e1d8;border-radius:20px;background:#fff;box-shadow:0 5px 16px #1b1f3b07}.topic-card{padding:26px}.topic-card-heading{display:flex;align-items:center;gap:12px}.topic-heading-icon,.topic-practice-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:var(--level-soft);color:var(--level-accent)}.topic-card-heading h2{margin:3px 0 0;color:#1b1f3b;font-size:21px;letter-spacing:-.025em}.topic-step-list{display:grid;gap:0;margin:19px 0 0;padding:0;list-style:none;counter-reset:step}.topic-step-list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:16px 0;border-top:1px solid #eceae4}.topic-step-list li:last-child{padding-bottom:0}.topic-step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--level-soft);color:var(--level-accent);font-size:13px;font-weight:800}.topic-step-list p{align-self:center;margin:0;color:#394550;font-size:14px;line-height:1.65}.topic-diagram{overflow:hidden;margin-top:21px;padding:12px;border:1px solid #e9e8e3;border-radius:15px;background:#fdfcf9}.topic-diagram svg{display:block;width:100%;height:auto}.topic-diagram-expand{display:none}.topic-practice{padding:26px;border-color:color-mix(in srgb,var(--level-accent) 25%,white);background:linear-gradient(180deg,var(--level-soft),#fff 180px)}.topic-practice-header{display:flex;align-items:center;gap:11px}.topic-practice-icon{width:38px;height:38px;border-radius:12px;background:var(--level-accent);color:#fff}.topic-practice-header>span:last-child{line-height:1.35}.topic-practice h2{margin:16px 0 8px;color:#1b1f3b;font-size:24px;letter-spacing:-.03em;line-height:1.2}.topic-practice-description{margin:0;color:#394550;font-size:14px;line-height:1.65}.topic-submission{margin-top:23px;padding-top:20px;border-top:1px solid #dfe5df}.topic-submission-label{display:block;margin-bottom:12px}.topic-upload{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:12px 14px;border:1.5px dashed var(--level-accent);border-radius:12px;background:#fff;color:var(--level-accent);cursor:pointer;font-size:13px;font-weight:800;line-height:1.35;text-align:center}.topic-upload:hover{background:var(--level-soft)}.topic-upload:focus-within{outline:3px solid var(--level-accent);outline-offset:3px}.topic-upload input{position:absolute;width:1px;height:1px;opacity:0}.topic-upload-retry{margin-top:12px;border-color:#c1553a;color:#a84b36}.topic-upload-retry:hover{background:#fff5f0}.topic-feedback{display:flex;align-items:flex-start;gap:9px;padding:13px;border-radius:11px;font-size:13px;font-weight:700;line-height:1.5}.topic-feedback svg{flex:0 0 auto}.topic-feedback-enviado{background:#fff4df;color:#8e5a19}.topic-feedback-revisar{background:#fbeae4;color:#a84b36}.topic-feedback-aprobado{background:#e7f3ed;color:#256658}.topic-comment{margin-top:19px;padding-top:18px;border-top:1px solid #e4e5df}.topic-comment strong{display:flex;align-items:center;gap:7px;color:#53606b;font-size:12px}.topic-comment p{margin:8px 0 0;color:#394550;font-size:14px;line-height:1.55}.topic-review-pending{margin:0;color:#64717c;font-size:13px;line-height:1.55}.topic-review{display:grid;gap:12px}.topic-review-file{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #cbdad4;border-radius:10px;background:#fff;color:#286a5e;font-size:13px;font-weight:700;text-decoration:none}.topic-review-file:hover{border-color:#2f7a6b;background:#f5fbf8}.topic-review-label{margin-top:4px;color:#34424d;font-size:13px;font-weight:700}.topic-review textarea{width:100%;min-height:108px;padding:11px 12px;border:1px solid #cbd2d0;border-radius:11px;background:#fff;color:#1b1f3b;font:inherit;font-size:13px;line-height:1.5;resize:vertical}.topic-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.topic-review-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:43px;padding:8px;border-radius:10px;font-size:12px;font-weight:800;line-height:1.3}.topic-review-actions button:first-child{background:#2f7a6b;color:#fff}.topic-review-actions button:first-child:hover{background:#256658}.topic-review-actions button:last-child{border:1px solid #efc9bd;background:#fff5f0;color:#a84b36}.topic-review-actions button:last-child:hover{background:#fbeae4}.teacher-dashboard,.teacher-detail{display:grid;gap:26px}.teacher-dashboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:226px;overflow:hidden;padding:32px 34px;border-radius:24px;background:linear-gradient(115deg,#1b1f3b 12%,#254a50);color:#fff;box-shadow:0 14px 30px #1b1f3b17}.teacher-dashboard-hero:after{position:absolute;top:-156px;right:132px;width:340px;height:340px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff05;content:"";pointer-events:none}.teacher-dashboard-intro,.teacher-hero-stats{position:relative;z-index:1}.teacher-dashboard-intro{max-width:440px}.teacher-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#a7ddcb;font-size:11px;font-weight:800;letter-spacing:.09em}.teacher-dashboard-hero h1{margin:13px 0 9px;font-size:clamp(29px,3.2vw,36px);letter-spacing:-.035em;line-height:1.12}.teacher-dashboard-hero p{margin:0;color:#d8e4e4;font-size:15px;line-height:1.55}.teacher-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 350px}.teacher-hero-stats>div{display:flex;flex-direction:column;align-items:flex-start;min-height:142px;padding:18px;border:1px solid #ffffff38;border-radius:17px;background:#ffffff16}.teacher-hero-stats svg{color:#b7e2d6}.teacher-hero-stats strong{margin-top:8px;font-size:34px;letter-spacing:-.04em;line-height:1}.teacher-hero-stats span{margin-top:8px;color:#d5e4e5;font-size:11px;line-height:1.35}.teacher-section{display:grid;gap:13px}.teacher-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.teacher-section-heading>div>span,.teacher-detail-card-heading>div>span,.teacher-detail-hero-copy>span{color:#2f7a6b;font-size:11px;font-weight:800;letter-spacing:.09em}.teacher-section-heading h2{margin:5px 0 0;color:#1b1f3b;font-size:23px;letter-spacing:-.03em}.teacher-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:28px;padding:4px 9px;border-radius:999px;background:#e7f2ee;color:#286a5e;font-size:12px;font-weight:800}.teacher-count-pending{background:#fff0d9;color:#955c16}.teacher-review-list,.teacher-student-list{display:grid;gap:10px}.teacher-review-item,.teacher-student-card,.teacher-review-empty,.teacher-students-empty{border:1px solid #e4e1d8;border-radius:18px;background:#fff;box-shadow:0 5px 16px #1b1f3b07}.teacher-review-item,.teacher-student-card{display:flex;align-items:center;width:100%;text-align:left}.teacher-review-item{gap:14px;padding:16px 20px;border-color:#efd9b6;background:#fffaf2}.teacher-review-item:hover,.teacher-student-card:hover{border-color:#9ac6b8;transform:translateY(-2px);box-shadow:0 10px 20px #1b1f3b0e}.teacher-review-icon,.teacher-review-empty>span,.teacher-students-empty>span{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;border-radius:13px;background:#fbeeda;color:#b16d1b}.teacher-review-copy{display:grid;gap:3px;flex:1;min-width:0}.teacher-review-copy strong{color:#1b1f3b;font-size:15px}.teacher-review-copy small{color:#697381;font-size:12px;line-height:1.4}.teacher-review-action{display:inline-flex;align-items:center;gap:5px;color:#955c16;font-size:13px;font-weight:800}.teacher-review-empty{display:flex;align-items:center;gap:14px;padding:20px 22px;border-color:#d8e7de;background:#f8fcf9}.teacher-review-empty>span{background:#e5f3eb;color:#2f7a6b}.teacher-review-empty strong,.teacher-students-empty strong{display:block;color:#1b1f3b;font-size:15px}.teacher-review-empty p,.teacher-students-empty p{margin:4px 0 0;color:#65717c;font-size:13px;line-height:1.45}.teacher-students-empty{display:grid;justify-items:start;gap:10px;padding:26px}.teacher-students-empty>span{background:#e5f3eb;color:#2f7a6b}.teacher-students-empty button{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:0;color:#286a5e;font-size:13px;font-weight:800}.teacher-students-empty button:hover{text-decoration:underline}.teacher-student-card{gap:16px;min-height:128px;padding:20px}.teacher-student-avatar{display:grid;place-items:center;flex:0 0 auto;width:55px;height:55px;border-radius:16px;background:#e4f0ec;color:#2f7a6b;font-size:17px;font-weight:800}.teacher-student-content{display:grid;gap:5px;flex:1;min-width:0}.teacher-student-topline,.teacher-student-progress{display:flex;align-items:center;gap:10px}.teacher-student-topline{flex-wrap:wrap}.teacher-student-topline strong{color:#1b1f3b;font-size:17px;letter-spacing:-.02em}.teacher-student-pending{padding:4px 8px;border-radius:999px;background:#fff0d9;color:#955c16;font-size:11px;font-weight:800}.teacher-student-meta{color:#64717c;font-size:12px;line-height:1.4}.teacher-student-progress{margin-top:10px;color:#586575;font-size:11px;font-weight:700;white-space:nowrap}.teacher-student-progress-track,.teacher-level-track{display:block;overflow:hidden;height:7px;border-radius:999px;background:#e9ece8}.teacher-student-progress-track{width:min(230px,50%)}.teacher-student-progress-track>span,.teacher-level-track>span{display:block;height:100%;border-radius:inherit;background:var(--student-accent, #2f7a6b)}.teacher-student-arrow{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#f1f5f2;color:#2f7a6b}.teacher-detail{gap:20px}.teacher-detail-hero{display:flex;align-items:center;gap:18px;min-height:173px;padding:25px 30px;border:1px solid #d7e7de;border-radius:21px;background:linear-gradient(110deg,#e9f5ef,#fff 78%)}.teacher-detail-hero-icon{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:17px;background:#2f7a6b;color:#fff}.teacher-detail-hero-copy{flex:1;min-width:0}.teacher-detail-hero h1{margin:5px 0 6px;color:#1b1f3b;font-size:clamp(27px,3vw,34px);letter-spacing:-.035em;line-height:1.1}.teacher-detail-hero p{margin:0;color:#576570;font-size:14px;line-height:1.45}.teacher-detail-overall{display:grid;justify-items:center;gap:3px;flex:0 0 auto;min-width:135px}.teacher-detail-overall span{color:#5b6772;font-size:11px;font-weight:700;text-align:center}.teacher-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-detail-metrics>div{display:grid;grid-template-columns:41px minmax(0,1fr);align-items:center;column-gap:12px;padding:18px 20px;border:1px solid #e4e1d8;border-radius:17px;background:#fff}.teacher-detail-metric-icon{display:grid;place-items:center;grid-row:span 2;width:41px;height:41px;border-radius:12px;background:#e5f3eb;color:#2f7a6b}.teacher-detail-metric-review{background:#fff0d9;color:#b16d1b}.teacher-detail-metrics strong{color:#1b1f3b;font-size:22px;line-height:1}.teacher-detail-metrics strong small{color:#74808a;font-size:12px;font-weight:600}.teacher-detail-metrics>div>span:last-child{color:#65717c;font-size:12px}.teacher-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;gap:18px}.teacher-detail-card{min-width:0;padding:24px;border:1px solid #e4e1d8;border-radius:20px;background:#fff;box-shadow:0 5px 16px #1b1f3b07}.teacher-detail-card-heading{display:flex;align-items:center;gap:11px;margin-bottom:18px}.teacher-detail-card-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:#e7f2ee;color:#2f7a6b}.teacher-detail-card-heading h2{margin:3px 0 0;color:#1b1f3b;font-size:20px;letter-spacing:-.025em}.teacher-level-list{display:grid;gap:9px}.teacher-level-row{display:grid;gap:10px;width:100%;padding:14px;border:1px solid #e7e8e4;border-radius:12px;background:#fff;text-align:left}.teacher-level-row:hover{border-color:var(--level-accent);background:color-mix(in srgb,var(--level-soft) 40%,white)}.teacher-level-row-top{display:flex;align-items:center;gap:9px}.teacher-level-number{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:8px;background:var(--level-soft);color:var(--level-accent);font-size:11px;font-weight:800}.teacher-level-row-top strong{flex:1;color:#1b1f3b;font-size:14px}.teacher-level-percent{color:var(--level-accent);font-size:13px;font-weight:800}.teacher-level-row-top>svg{color:#9aa4ac}.teacher-level-track{width:100%}.teacher-level-track>span{background:var(--level-accent)}.teacher-level-caption{color:#697681;font-size:11px}.teacher-notes-card>p{margin:0 0 20px;color:#5b6973;font-size:13px;line-height:1.55}.teacher-notes-card label{display:block;margin-bottom:8px;color:#34434c;font-size:13px;font-weight:700}.teacher-notes-card textarea{width:100%;min-height:175px;padding:13px;border:1px solid #cdd5d1;border-radius:11px;background:#fff;color:#1b1f3b;font:inherit;font-size:14px;line-height:1.5;resize:vertical}.teacher-notes-privacy{display:flex;align-items:flex-start;gap:7px;margin-top:12px;color:#64717c;font-size:11px;line-height:1.4}.teacher-notes-privacy svg{flex:0 0 auto}.teacher-history-count{margin-left:auto;padding:5px 9px;border-radius:999px;background:#e7f2ee;color:#286a5e;font-size:11px;font-weight:800}.teacher-history-empty{display:flex;align-items:center;gap:13px;padding:20px;border:1px dashed #d7e1da;border-radius:13px;background:#f9fbf9}.teacher-history-empty>span{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#e7f2ee;color:#2f7a6b}.teacher-history-empty strong{color:#1b1f3b;font-size:13px}.teacher-history-empty p{margin:3px 0 0;color:#697681;font-size:12px}.teacher-history-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.teacher-history-list li{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-top:1px solid #eceae4}.teacher-history-status{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#f2f5f2}.teacher-history-entry{flex:1;min-width:0}.teacher-history-entry-top{display:flex;justify-content:space-between;gap:12px}.teacher-history-entry-top strong{color:#1b1f3b;font-size:14px}.teacher-history-entry-top time{flex:0 0 auto;color:#74808b;font-size:11px}.teacher-history-entry p{margin:4px 0 0;color:#64717c;font-size:12px}.teacher-history-comment{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:10px;border-radius:9px;background:#f7f6f1;color:#46525a;font-size:12px;line-height:1.5}.teacher-history-comment svg{flex:0 0 auto}@media(max-width:760px){.student-home-hero{align-items:stretch;flex-direction:column;gap:22px}.student-home-progress{flex-basis:auto;width:100%}.level-map{grid-template-columns:1fr}.level-card-featured{grid-column:auto}.level-page-hero{flex-wrap:wrap}.level-page-progress{flex-basis:100%}.section-card-footer{flex-wrap:wrap}.section-info-grid,.topic-grid{grid-template-columns:1fr}.topic-practice{grid-row:1}.teacher-dashboard-hero{align-items:stretch;flex-direction:column}.teacher-hero-stats{flex-basis:auto;width:100%}.teacher-detail-grid{grid-template-columns:1fr}}@media(max-width:680px){.app-account-info{display:none}.app-account .app-connections-button{position:relative;width:42px;padding:0}.app-connections-label{display:none}.app-connections-count{position:absolute;top:-6px;right:-6px}}@media(max-width:480px){.app-header-inner{min-height:64px;padding:9px 12px;gap:8px}.app-brand{gap:7px}.app-brand-logo{width:36px;height:36px}.app-brand-name{font-size:15px}.app-account{gap:8px}.app-account .app-connections-button,.app-account .app-logout-button{width:38px;height:38px;min-height:38px;padding:0}.app-account-profile{padding-left:0;border:0}.app-account-avatar{width:34px;height:34px;border-radius:10px}.app-logout-button span{display:none}.app-content{padding:20px 12px 40px}.student-home{gap:23px}.student-home-hero{padding:25px 23px;border-radius:20px}.student-home-hero h1{font-size:29px}.student-home-section-heading h2{font-size:22px}.teacher-dashboard,.teacher-detail{gap:22px}.teacher-dashboard-hero{gap:23px;padding:25px 23px;border-radius:20px}.teacher-dashboard-hero h1{font-size:29px}.teacher-hero-stats>div{min-height:127px;padding:14px}.teacher-section-heading h2{font-size:21px}.teacher-review-action{font-size:0}.teacher-review-action svg{width:19px;height:19px}.teacher-student-card{align-items:flex-start;gap:12px;padding:17px}.teacher-student-avatar{width:44px;height:44px;border-radius:13px;font-size:14px}.teacher-student-arrow{width:27px;height:27px}.teacher-student-progress{flex-wrap:wrap;gap:5px}.teacher-student-progress-track{width:100%}.teacher-detail-hero{display:grid;grid-template-columns:49px minmax(0,1fr);gap:11px;padding:20px}.teacher-detail-hero-icon{width:49px;height:49px;border-radius:14px}.teacher-detail-hero h1{font-size:26px}.teacher-detail-overall{display:flex;grid-column:1 / -1;align-items:center;justify-content:flex-start;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid #dce8e1}.teacher-detail-overall svg{width:55px;height:55px}.teacher-detail-metrics{gap:9px}.teacher-detail-metrics>div{grid-template-columns:1fr;justify-items:start;gap:5px;padding:14px}.teacher-detail-metric-icon{grid-row:auto;width:36px;height:36px;margin-bottom:5px}.teacher-detail-card{padding:19px}.teacher-detail-card-heading h2{font-size:19px}.teacher-history-entry-top{flex-direction:column;gap:3px}.level-card{min-height:204px;padding:19px}.level-card-featured .level-card-copy strong{font-size:23px}.level-page-hero{gap:14px;padding:20px}.level-page-hero-icon{width:48px;height:48px;border-radius:14px}.level-page-hero h1{font-size:25px}.level-page-list-heading h2{font-size:21px}.section-card{gap:13px;padding:17px}.section-card-index{width:43px;height:43px;border-radius:13px;font-size:16px}.section-card-content>strong{font-size:19px}.section-card-footer{align-items:flex-start;flex-direction:column;gap:10px}.section-card-action{width:100%}.section-card-progress-track{flex:1}.section-card-action-label{margin-left:auto}.section-info-card{padding:19px}.section-modules-heading h2{font-size:21px}.section-module-heading{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;padding:17px}.section-module-count{grid-column:2;justify-self:start}.section-topic{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:7px 10px;padding:12px 17px}.section-topic-icon{grid-row:1 / 3}.section-topic-copy{grid-column:2}.section-topic-status{grid-column:2;justify-self:start}.section-topic>svg{grid-column:3;grid-row:1 / 3}.section-hero{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;min-height:0;padding:19px}.section-hero-icon{width:44px;height:44px;border-radius:13px}.section-hero h1{font-size:24px}.topic-hero{flex-direction:column;gap:17px;padding:23px}.topic-hero h1{font-size:27px}.topic-module{margin-top:14px}.topic-card,.topic-practice{padding:20px}.topic-card-heading h2{font-size:19px}.topic-step-list li{gap:10px}.topic-diagram{margin-top:16px;padding:4px}.topic-diagram-expand{display:block;margin-top:12px}.topic-diagram-expand summary{display:inline-flex;align-items:center;min-height:42px;padding:0 13px;border:1px solid #c7ded5;border-radius:10px;background:#f4faf7;color:#256658;cursor:pointer;font-size:13px;font-weight:700}.topic-diagram-expand p{margin:12px 0 8px;color:#64717c;font-size:12px}.topic-diagram-scroll{overflow-x:auto;padding:4px;border:1px solid #e9e8e3;border-radius:12px;background:#fdfcf9}.topic-diagram-scroll svg{display:block;min-width:680px;height:auto}.section-refresh{grid-column:1 / -1;justify-self:start}.notifications-empty{padding:34px 22px}.connection-card{padding:19px}.connection-form-controls,.connection-row{align-items:stretch;flex-direction:column}.connection-form-controls button{width:100%}}@media(max-width:360px){.app-brand-name{display:none}.section-card-description{-webkit-line-clamp:3}.section-modules-heading{align-items:flex-start;flex-direction:column;gap:5px}}
