body{font-family:'Nunito',Arial,sans-serif;background:linear-gradient(135deg,#d1f2eb,#c2e6f4,#bcd9fe,#d4bbeb);background-attachment:fixed;min-height:100vh;margin:0;color:#1f2937}
.main-content{display:none}.main-content.active{display:block;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.level-card{transition:.25s; border-top-width:6px;background:#fff;padding:1.75rem}.level-card:hover{transform:translateY(-6px);box-shadow:0 20px 35px -12px #0003}
.course-panel{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0002;padding:24px}.course-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.course-head h2{font-size:2rem;margin:4px 0;font-weight:800}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.8rem}.lesson-count{background:#f3f4f6;padding:8px 14px;border-radius:999px;font-weight:800;color:#4b5563}.lesson-list{display:grid;gap:12px}.lesson-card{width:100%;display:flex;align-items:center;gap:15px;text-align:left;background:#f9fafb;border:2px solid #e5e7eb;border-radius:14px;padding:15px;cursor:pointer;transition:.2s;font:inherit}.lesson-card:hover{background:#fff;transform:translateX(3px);box-shadow:0 7px 18px #0001}.lesson-number{width:40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}.lesson-title{font-weight:800;font-size:1.05rem;flex:1}.lesson-arrow{font-size:1.4rem;font-weight:800}.error-box{background:#fff;border:2px solid #fecaca;border-radius:16px;padding:24px;color:#991b1b}
.lesson-content{line-height:1.75}.lesson-content img{max-width:100%;height:auto;border-radius:12px}.lesson-content table{width:100%;border-collapse:collapse;margin:1rem 0}.lesson-content th,.lesson-content td{padding:.65rem;border:1px solid #e5e7eb}.lesson-content th{font-weight:800;background:#f9fafb}.lesson-content h1,.lesson-content h2,.lesson-content h3{font-weight:800;margin-top:1.25rem;margin-bottom:.75rem}.lesson-content p{margin-bottom:.75rem}
@media(max-width:700px){.course-head{align-items:flex-start;flex-direction:column}.course-head h2{font-size:1.55rem}}

/* Chapter-wise Practice Center */
.practice-panel{max-width:1100px;margin:0 auto}.practice-intro{font-size:1.05rem;color:#4b5563;margin:0 0 24px}.practice-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.practice-level,.chapter-practice-card{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:18px;text-align:left;cursor:pointer;transition:.18s}.practice-level:hover,.chapter-practice-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.practice-level strong{display:block;font-size:1.5rem;color:#4f46e5}.practice-level span{display:block;color:#6b7280;margin-top:5px}.small-btn{width:auto!important;padding:10px 16px!important}.chapter-picker{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:20px 0 28px;padding:18px;background:#f8fafc;border-radius:16px}.chapter-picker label{display:block;width:100%;font-weight:800}.chapter-picker select{flex:1;min-width:240px;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#fff}.primary-practice{border:0;border-radius:10px;padding:11px 17px;background:#4f46e5;color:#fff;font-weight:800;cursor:pointer}.primary-practice:hover{filter:brightness(.95)}.chapter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.chapter-practice-card{display:grid;grid-template-columns:38px 1fr;column-gap:10px}.chapter-practice-card span{grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-weight:900}.chapter-practice-card b{font-size:.98rem}.chapter-practice-card small{color:#6b7280;margin-top:3px}.practice-progress{height:9px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin:15px 0 30px}.practice-progress div{height:100%;background:#4f46e5}.practice-score{font-weight:800;color:#4f46e5}.practice-question{max-width:850px;margin:0 auto}.question-tag{display:inline-block;background:#eef2ff;color:#4338ca;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:900}.practice-question h3{font-size:1.45rem;line-height:1.45;margin:15px 0 24px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.practice-option{padding:15px;border:2px solid #e5e7eb;background:#fff;border-radius:12px;text-align:left;font-weight:700;cursor:pointer}.practice-option:hover{border-color:#818cf8}.practice-option.correct{border-color:#16a34a;background:#f0fdf4}.practice-option.wrong{border-color:#dc2626;background:#fef2f2}.practice-option:disabled{cursor:default}.practice-feedback{margin-top:20px;padding:18px;border-radius:14px}.practice-feedback.is-correct{background:#f0fdf4;border:1px solid #bbf7d0}.practice-feedback.is-wrong{background:#fef2f2;border:1px solid #fecaca}.practice-feedback p{margin:7px 0 14px}.text-answer-wrap{display:flex;gap:10px;flex-wrap:wrap}.practice-input{flex:1;min-width:220px;padding:13px;border:2px solid #d1d5db;border-radius:10px}.chapter-practice-cta{margin-top:28px;padding:18px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.chapter-practice-cta span{display:block;color:#4b5563;font-size:.92rem;margin-top:3px}.result-panel{text-align:center;padding:50px 20px}.result-score{font-size:4rem;font-weight:900;color:#4f46e5;margin:15px 0}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0}.result-note{color:#6b7280}.practice-footer{margin-top:30px}
@media(max-width:700px){.options-grid{grid-template-columns:1fr}.practice-question h3{font-size:1.2rem}.chapter-picker{align-items:stretch}.chapter-picker select,.chapter-picker .primary-practice{width:100%}}

.practice-subtitle{margin:.35rem 0 0;color:#6b7280}.practice-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 26px}.practice-feature-grid>div{padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.practice-feature-grid b{display:block;font-size:1rem}.practice-feature-grid span{display:block;color:#6b7280;margin-top:5px;font-size:.9rem}.practice-meta{display:flex;justify-content:space-between;align-items:center;margin:-15px 0 20px;color:#6b7280;font-size:.9rem}.practice-meta span:first-child{background:#eef2ff;color:#4338ca;border-radius:999px;padding:5px 10px;font-weight:800}.wrong-summary{max-width:520px;margin:22px auto;padding:16px;border:1px solid #fed7aa;background:#fff7ed;border-radius:14px}.wrong-summary b,.wrong-summary span{display:block}.wrong-summary span{margin-top:4px;color:#6b7280}.wrong-summary.perfect{border-color:#bbf7d0;background:#f0fdf4}@media(max-width:800px){.practice-feature-grid{grid-template-columns:1fr}}
/* SpeakMundo Premium Practice */
.practice-panel{max-width:1100px;margin:0 auto}.practice-subtitle{color:#64748b;font-size:1rem;margin-top:.35rem}.practice-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}.practice-feature-grid>div{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.practice-feature-grid b,.practice-feature-grid span{display:block}.practice-feature-grid span{color:#64748b;font-size:.9rem;margin-top:6px}.practice-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.practice-level,.chapter-practice-card{border:1px solid #dbe3ef;background:#fff;border-radius:16px;padding:18px;text-align:left;cursor:pointer;transition:.2s}.practice-level:hover,.chapter-practice-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000012}.practice-level strong{display:block;font-size:1.5rem}.practice-level span,.chapter-practice-card small{display:block;color:#64748b;margin-top:6px}.chapter-picker{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.chapter-picker label{width:100%;font-weight:700}.chapter-picker select{flex:1;min-width:260px;padding:13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chapter-practice-card{display:grid;grid-template-columns:42px 1fr;column-gap:12px}.chapter-practice-card span{grid-row:1/3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;font-weight:800}.chapter-practice-card b{font-size:.98rem}.primary-practice,.secondary-practice{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary-practice{background:#4f46e5;color:#fff}.secondary-practice{background:#eef2ff;color:#3730a3}.practice-progress{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:18px 0}.practice-progress>div,.mastery-bar>div{height:100%;background:#4f46e5}.practice-meta{display:flex;justify-content:space-between;color:#64748b;font-size:.88rem;margin-bottom:12px}.practice-question h3{font-size:1.35rem;margin:20px 0}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.practice-option{padding:16px;text-align:left;border:2px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;font-size:1rem}.practice-option:hover{border-color:#818cf8}.practice-option.correct{border-color:#22c55e;background:#f0fdf4}.practice-option.wrong{border-color:#ef4444;background:#fef2f2}.practice-option:disabled{cursor:default}.practice-input{width:100%;padding:14px;border:2px solid #cbd5e1;border-radius:12px;font-size:1rem;margin-bottom:10px}.practice-feedback{margin-top:18px;padding:16px;border-radius:14px}.practice-feedback.is-correct{background:#f0fdf4;border:1px solid #86efac}.practice-feedback.is-wrong{background:#fff7ed;border:1px solid #fdba74}.practice-footer{margin-top:28px;padding-top:18px;border-top:1px solid #e2e8f0}.builder-hint{color:#64748b}.sentence-builder{min-height:60px;padding:14px;border:2px dashed #cbd5e1;border-radius:14px;margin:12px 0}.built-word{display:inline-block;padding:8px 11px;background:#eef2ff;border-radius:9px;margin:3px;font-weight:700}.word-bank{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.word-chip{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}.word-chip:disabled{opacity:.35}.builder-actions,.speaking-actions{display:flex;gap:10px;flex-wrap:wrap}.speaking-card{padding:20px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc}.speech-status{margin-top:15px;color:#475569}.result-score{font-size:4rem;font-weight:900;margin:15px 0}.mastery-bar{height:12px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:15px 0}.wrong-summary{display:flex;flex-direction:column;gap:5px;padding:16px;border-radius:14px;background:#fff7ed;margin:18px 0}.wrong-summary.perfect{background:#f0fdf4}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.result-note{color:#64748b;margin-top:18px}@media(max-width:800px){.practice-feature-grid,.practice-level-grid{grid-template-columns:1fr 1fr}.chapter-grid{grid-template-columns:1fr}.options-grid{grid-template-columns:1fr}}@media(max-width:520px){.practice-feature-grid,.practice-level-grid{grid-template-columns:1fr}.chapter-picker{display:block}.chapter-picker select{width:100%;margin-bottom:10px}.result-score{font-size:3rem}}
.production-card{padding:18px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc}.production-instructions{padding:14px;background:#fff;border-radius:12px;margin-bottom:12px}.production-instructions span{color:#64748b}.production-input{width:100%;padding:14px;border:2px solid #cbd5e1;border-radius:12px;font-size:1rem;resize:vertical}.production-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.model-answer{margin-top:14px;padding:14px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:12px}.model-answer p{margin:6px 0 0}.production-card ul{margin:8px 0 0 20px}

/* SpeakMundo v6 teacher-quality practice */
.sm-practice{max-width:1180px;margin:0 auto;background:#fff;border-radius:26px;padding:28px;box-shadow:0 18px 55px rgba(30,41,59,.10)}
.sm-head,.sm-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.sm-kicker{font-size:12px;letter-spacing:.14em;font-weight:900;color:#4f46e5;text-transform:uppercase}.sm-practice h2{font-size:32px;font-weight:900;color:#172033;margin:6px 0}.sm-practice p{color:#64748b}.sm-method{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.sm-method div{padding:16px;border:1px solid #e2e8f0;border-radius:16px;text-align:center;background:#f8fafc}.sm-method b{display:block;font-size:20px;color:#4f46e5}.sm-method span{font-weight:800;color:#334155}.sm-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.sm-levels button,.sm-chapters button{border:1px solid #e2e8f0;background:white;border-radius:18px;padding:18px;text-align:left;cursor:pointer;transition:.2s}.sm-levels button:hover,.sm-chapters button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(30,41,59,.09);border-color:#818cf8}.sm-levels strong{font-size:24px;display:block}.sm-levels span{color:#64748b}.sm-secondary,.sm-primary{border:0;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer}.sm-primary{background:#4f46e5;color:white}.sm-secondary{background:#f1f5f9;color:#334155}.sm-chapters{display:grid;gap:10px;margin-top:20px}.sm-chapters button{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:12px}.sm-chapters button>span{font-size:18px;font-weight:900;color:#4f46e5}.sm-chapters b{display:block;font-size:16px;color:#172033}.sm-chapters small{color:#64748b}.sm-top{margin-bottom:14px}.sm-top span{font-weight:900;color:#475569}.sm-top b{color:#4f46e5}.sm-bar{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:10px 0 26px}.sm-bar div{height:100%;background:#4f46e5;border-radius:99px}.sm-lesson h2{margin-bottom:20px}.sm-card{border:1px solid #e2e8f0;border-radius:22px;padding:28px;background:#fff}.sm-q{font-size:22px;line-height:1.5;font-weight:800;color:#172033;margin-bottom:24px}.sm-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sm-option{padding:18px;border:2px solid #e2e8f0;border-radius:15px;background:white;text-align:left;font-size:16px;font-weight:700;cursor:pointer}.sm-option:hover{border-color:#818cf8;background:#f8faff}.sm-option.correct{border-color:#16a34a;background:#f0fdf4}.sm-option.wrong{border-color:#dc2626;background:#fef2f2}.sm-option:disabled{cursor:default}.sm-write{display:flex;gap:10px}.sm-write input{flex:1;padding:16px;border:2px solid #e2e8f0;border-radius:14px;font-size:17px}.sm-builder{display:grid;gap:18px}.sm-built{min-height:58px;padding:16px;border:2px dashed #c7d2fe;border-radius:14px;color:#64748b}.sm-built span{display:inline-block;background:#eef2ff;color:#3730a3;padding:8px 11px;border-radius:9px;margin:3px;font-weight:800}.sm-bank{display:flex;flex-wrap:wrap;gap:9px}.sm-bank button{border:1px solid #cbd5e1;background:#fff;padding:11px 14px;border-radius:11px;font-weight:800;cursor:pointer}.sm-bank button:disabled{opacity:.35}.sm-prod textarea{width:100%;min-height:160px;border:2px solid #e2e8f0;border-radius:15px;padding:16px;font-size:17px;resize:vertical}.sm-prod>div,.sm-speak>div{margin-top:12px}.sm-instruction{padding:14px;background:#eef2ff;border-radius:12px;margin-bottom:14px}.sm-feedback{margin-top:20px;padding:18px;border-radius:15px}.sm-feedback.ok{background:#f0fdf4;border:1px solid #86efac}.sm-feedback.bad{background:#fef2f2;border:1px solid #fca5a5}.sm-feedback strong{font-size:18px}.sm-feedback p{color:#334155}.sm-feedback ul,.sm-rubric ul{padding-left:22px;color:#334155}.sm-model,.sm-rubric{margin-top:14px;padding:16px;background:#f8fafc;border-radius:12px}.sm-speak{padding:18px;background:#f8fafc;border-radius:16px}.sm-speak p{font-size:18px;font-weight:700;color:#172033}.sm-footer{padding-top:18px;color:#64748b;font-size:13px;text-align:center}.sm-result{text-align:center;padding:45px 28px}.sm-result-score{font-size:72px;font-weight:900;color:#4f46e5;margin:15px}.sm-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin:25px 0}.sm-result-grid div{padding:18px;background:#f8fafc;border-radius:15px}.sm-result-grid b,.sm-result-grid span{display:block}.sm-result-grid span{color:#64748b;margin-top:6px}
@media(max-width:760px){.sm-method,.sm-levels{grid-template-columns:1fr 1fr}.sm-options,.sm-result-grid{grid-template-columns:1fr}.sm-write{display:grid}.sm-practice{padding:18px}.sm-head{align-items:flex-start;flex-direction:column}.sm-q{font-size:19px}}

/* SpeakMundo Step 6 — Student Dashboard */
.sm-dashboard{max-width:1180px}.sm-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.sm-stat-grid>div{padding:20px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.sm-stat-grid strong{display:block;font-size:30px;font-weight:900;color:#4f46e5}.sm-stat-grid span{display:block;color:#64748b;margin-top:5px;font-weight:700}.sm-dash-title{font-size:22px;font-weight:900;color:#172033;margin:28px 0 14px}.sm-dash-levels{display:grid;grid-template-columns:1fr;gap:12px}.sm-dash-level{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.sm-dash-level-top,.sm-dash-level-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.sm-dash-level-top b{font-size:20px}.sm-dash-level-top span,.sm-dash-level-bottom{color:#64748b}.sm-dash-bar{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:12px 0}.sm-dash-bar div{height:100%;background:#4f46e5}.sm-dash-level-bottom{font-size:13px}.sm-dash-next{margin-top:22px;padding:20px;border-radius:18px;background:#eef2ff;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.sm-dash-next p{margin:6px 0 0}.sm-dash-note{margin-top:14px;padding:14px;background:#f8fafc;border-radius:14px;color:#64748b;font-size:13px}
@media(max-width:760px){.sm-stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.sm-stat-grid{grid-template-columns:1fr}}

/* SpeakMundo Step 7 — Speaking & Listening Lab */
.sl-shell{max-width:1120px;margin:0 auto;background:#fff;border-radius:26px;padding:28px;box-shadow:0 18px 55px rgba(30,41,59,.10)}
.sl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.sl-kicker{font-size:12px;letter-spacing:.14em;font-weight:900;color:#db2777;text-transform:uppercase}.sl-head h2{font-size:34px;line-height:1.15;font-weight:900;color:#172033;margin:6px 0}.sl-head p{color:#64748b;font-size:17px}.sl-shell>h3{font-size:22px;font-weight:900;color:#172033;margin:28px 0 14px}
.sl-method{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0}.sl-method>div{padding:15px;border:1px solid #e2e8f0;border-radius:16px;text-align:center;background:#f8fafc;font-size:22px}.sl-method b,.sl-method span{display:block}.sl-method b{font-size:15px;margin-top:6px;color:#172033}.sl-method span{font-size:12px;color:#64748b;margin-top:3px}.sl-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.sl-level{padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:white;text-align:left;cursor:pointer;transition:.2s}.sl-level:hover{transform:translateY(-2px);border-color:#f472b6;box-shadow:0 10px 24px rgba(30,41,59,.08)}.sl-level b,.sl-level span,.sl-level small{display:block}.sl-level b{font-size:24px;color:#db2777}.sl-level span{color:#334155;font-weight:800;margin:5px 0}.sl-level small{color:#64748b}.sl-note{margin-top:18px;padding:14px;border-radius:14px;background:#fdf2f8;color:#9d174d}
.sl-session-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sl-session-card{display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:12px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;text-align:left;cursor:pointer}.sl-session-card:hover{border-color:#f472b6;background:#fff7fb}.sl-session-card>span{font-size:30px}.sl-session-card b,.sl-session-card small{display:block}.sl-session-card b{font-size:17px;color:#172033}.sl-session-card small{color:#64748b;margin-top:4px}.sl-session-card i{font-style:normal;color:#db2777;font-size:22px}
.sl-stage{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-top:1px solid #e2e8f0}.sl-stage:first-of-type{border-top:0}.sl-stage-num{width:44px;height:44px;border-radius:14px;background:#fce7f3;color:#be185d;font-size:20px;font-weight:900;display:grid;place-items:center}.sl-stage h3{font-size:21px;font-weight:900;color:#172033;margin:0 0 10px}.sl-stage p{color:#475569;line-height:1.6}.sl-model{padding:18px;border-left:4px solid #ec4899;background:#fdf2f8;border-radius:0 14px 14px 0;font-size:20px!important;font-weight:800;color:#831843!important}.sl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.sl-chunks{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.sl-chunks span{padding:9px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800}.sl-shadow{padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.sl-shadow p{font-size:19px;font-weight:800;color:#172033}.sl-transcript{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;color:#334155;min-height:12px}.sl-warning{background:#fff7ed;color:#9a3412;padding:10px;border-radius:10px}.sl-role-lines{display:grid;gap:9px;margin-top:12px}.sl-role-lines>div{padding:13px 15px;border-radius:14px;background:#f8fafc}.sl-role-lines>div.student{background:#eef2ff}.sl-role-lines b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.sl-role-lines p{margin:3px 0 0;color:#172033;font-weight:700}.sl-prompts{padding-left:22px;margin:12px 0}.sl-prompts li{margin:7px 0;color:#334155}.sl-recorder{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}.sl-timer{font-size:34px;font-weight:900;color:#db2777;font-variant-numeric:tabular-nums}.sl-check{margin-top:14px;padding:18px;border:1px solid #c7d2fe;border-radius:14px;background:#f8fafc}.sl-check h4{font-size:18px;font-weight:900;margin-bottom:10px}.sl-check label{display:block;padding:7px 0;color:#334155}.sl-check input{margin-right:8px}.sl-tip{margin-top:12px;padding:12px;border-radius:10px;background:#fff}.sl-success{margin-top:14px;padding:16px;border-radius:14px;background:#f0fdf4;border:1px solid #86efac;color:#166534}.sl-success span{color:#475569}.sl-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:22px;border-top:1px solid #e2e8f0}.sl-nav button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:800px){.sl-method,.sl-level-grid{grid-template-columns:1fr 1fr}.sl-session-grid{grid-template-columns:1fr}.sl-stage{grid-template-columns:1fr}.sl-stage-num{width:38px;height:38px}.sl-head{flex-direction:column}.sl-shell{padding:18px}}@media(max-width:520px){.sl-method,.sl-level-grid{grid-template-columns:1fr}.sl-recorder{align-items:flex-start;flex-direction:column}.sl-head h2{font-size:28px}}
.sm-dashboard .sm-stat-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.sm-dashboard .sm-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sm-dashboard .sm-stat-grid{grid-template-columns:1fr}}

/* ===== SpeakMundo Step 8 — English-first Practice Arena ===== */
.px-hub,.rl-shell,.ex-shell{max-width:1180px;margin:0 auto}.px-hero,.rl-hero,.ex-hero,.ex-task-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.px-hero h2,.rl-hero h2,.ex-hero h2,.ex-task-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;font-weight:900;margin:.35rem 0 .75rem;color:#172554}.px-hero p,.rl-hero p,.ex-hero p{font-size:1.08rem;color:#64748b;max-width:760px}.px-kicker{display:inline-flex;padding:.42rem .72rem;border-radius:999px;background:#eef2ff;color:#4f46e5;font-weight:900;font-size:.78rem;letter-spacing:.08em}.px-streak{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-radius:22px;padding:18px 20px;margin-bottom:24px}.px-streak>span{font-size:2rem}.px-streak b,.px-streak small{display:block}.px-streak small{color:#92400e;margin-top:3px}.px-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.px-mode{display:flex;gap:18px;text-align:left;padding:24px;border:0;border-radius:26px;color:white;box-shadow:0 14px 35px rgba(15,23,42,.14);transition:.22s transform,.22s box-shadow;min-height:190px}.px-mode:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(15,23,42,.18)}.px-mode.chapter{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.px-mode.life{background:linear-gradient(135deg,#059669,#14b8a6)}.px-mode.exam{background:linear-gradient(135deg,#ea580c,#f59e0b)}.px-mode.speak{background:linear-gradient(135deg,#db2777,#8b5cf6)}.px-mode .px-icon{font-size:3rem}.px-mode small{font-weight:900;opacity:.8;letter-spacing:.08em}.px-mode h3{font-size:1.55rem;font-weight:900;margin:.25rem 0 .45rem}.px-mode p{opacity:.92;line-height:1.55}.px-mode b{display:inline-block;margin-top:10px}.px-week{margin-top:26px;background:white;border:1px solid #e2e8f0;border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.px-week h3{font-size:1.25rem;font-weight:900;margin-bottom:14px}.px-week>div{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.px-week span{background:#f8fafc;border-radius:16px;padding:12px;text-align:center;color:#475569}.px-week b{display:block;color:#0f172a}.px-disclaimer,.ex-note{margin-top:18px;padding:14px 18px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}

/* Real-life missions */
.rl-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.rl-levels button{border:2px solid color-mix(in srgb,var(--rl) 25%,white);background:white;border-radius:22px;padding:22px 14px;text-align:left;box-shadow:0 8px 24px rgba(15,23,42,.07)}.rl-levels button b{font-size:2rem;color:var(--rl);display:block}.rl-levels button span,.rl-levels button small{display:block}.rl-levels button span{font-weight:900;color:#1e293b}.rl-levels button small{color:#64748b;margin-top:5px}.rl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rl-grid button{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #dbeafe;background:white;border-radius:20px;text-align:left;box-shadow:0 8px 22px rgba(15,23,42,.06);transition:.2s}.rl-grid button:hover{transform:translateY(-2px);border-color:#60a5fa}.rl-grid button>span{font-size:2.2rem}.rl-grid button div{flex:1}.rl-grid b,.rl-grid small{display:block}.rl-grid b{font-size:1.08rem;color:#0f172a}.rl-grid small{color:#64748b;margin-top:4px}.rl-banner{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #a7f3d0;border-radius:20px;padding:16px 18px;margin-bottom:16px}.rl-banner b{color:#047857}.rl-section{background:white;border:1px solid #e2e8f0;border-radius:24px;padding:22px;margin:16px 0;box-shadow:0 10px 28px rgba(15,23,42,.06)}.rl-section h3{font-size:1.35rem;font-weight:900;color:#172554;margin-bottom:14px}.rl-phrases{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rl-phrases>div{position:relative;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:18px;padding:16px;min-height:120px}.rl-phrases b,.rl-phrases span{display:block}.rl-phrases b{font-size:1.05rem;color:#3730a3}.rl-phrases span{font-size:.92rem;color:#475569;margin-top:7px}.rl-phrases button{position:absolute;right:10px;bottom:10px;border:0;background:white;border-radius:10px;padding:6px 9px}.rl-dialogue{display:grid;gap:10px;margin-bottom:14px}.rl-dialogue>div{padding:13px 15px;border-left:5px solid #8b5cf6;background:#faf5ff;border-radius:14px}.rl-dialogue small{display:block;color:#7c3aed;font-weight:900}.rl-dialogue b{display:block;color:#111827;margin:3px 0}.rl-dialogue span{display:block;color:#64748b;font-size:.92rem}.rl-question{font-size:1.08rem;font-weight:800;color:#0f172a}.rl-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.rl-options button{padding:14px 16px;border:2px solid #e2e8f0;background:#fff;border-radius:14px;text-align:left;font-weight:800}.rl-options button:hover{border-color:#818cf8}.rl-options button.correct{border-color:#22c55e;background:#f0fdf4}.rl-options button.wrong{border-color:#ef4444;background:#fef2f2}.rl-section textarea,.ex-write{width:100%;min-height:150px;border:2px solid #e2e8f0;border-radius:16px;padding:14px;outline:none;margin:10px 0}.rl-section textarea:focus,.ex-write:focus{border-color:#818cf8;box-shadow:0 0 0 4px #eef2ff}.rl-model,.ex-model{margin-top:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:18px;padding:16px}.rl-model b,.ex-model b{display:block;color:#92400e}.rl-model p,.ex-model p{font-weight:800;margin:8px 0;color:#111827}.rl-model span,.ex-model span{display:block;color:#64748b}.rl-timer{font-size:2.5rem;font-weight:900;color:#7c3aed;margin:10px 0}.rl-coach{display:flex;gap:10px;padding:14px;margin-top:12px;background:#eff6ff;border-radius:14px}.rl-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.rl-complete{margin-top:16px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #86efac;color:#166534;font-size:1.05rem}

/* Exam zone */
.ex-skill-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.ex-skill-strip span{padding:14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;text-align:center;font-weight:900}.ex-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.ex-level-grid button{padding:20px 16px;text-align:left;border:0;border-radius:22px;color:white;box-shadow:0 10px 25px rgba(15,23,42,.12)}.ex-level-grid button:nth-child(1){background:linear-gradient(135deg,#ef4444,#fb7185)}.ex-level-grid button:nth-child(2){background:linear-gradient(135deg,#2563eb,#60a5fa)}.ex-level-grid button:nth-child(3){background:linear-gradient(135deg,#16a34a,#4ade80)}.ex-level-grid button:nth-child(4){background:linear-gradient(135deg,#ca8a04,#facc15);color:#422006}.ex-level-grid button:nth-child(5){background:linear-gradient(135deg,#7e22ce,#c084fc)}.ex-level-grid b{font-size:2rem;display:block}.ex-level-grid strong,.ex-level-grid small{display:block}.ex-level-grid strong{margin-top:3px}.ex-level-grid small{margin-top:8px;line-height:1.35;opacity:.9}.ex-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ex-module-grid button{border:0;border-radius:24px;padding:28px;text-align:left;color:white;min-height:170px;box-shadow:0 14px 34px rgba(15,23,42,.13)}.ex-module-grid span{font-size:2.6rem}.ex-module-grid b,.ex-module-grid small{display:block}.ex-module-grid b{font-size:1.5rem;margin:8px 0}.ex-module-grid small{font-size:.95rem;opacity:.9}.ex-module-grid .read{background:linear-gradient(135deg,#2563eb,#4f46e5)}.ex-module-grid .listen{background:linear-gradient(135deg,#0891b2,#14b8a6)}.ex-module-grid .write{background:linear-gradient(135deg,#db2777,#f43f5e)}.ex-module-grid .speak{background:linear-gradient(135deg,#7c3aed,#a855f7)}.ex-instructions,.ex-prompt{display:flex;gap:12px;align-items:flex-start;background:#eef2ff;border:1px solid #c7d2fe;border-radius:18px;padding:15px 17px;margin-bottom:14px}.ex-instructions b,.ex-prompt b{color:#4338ca;white-space:nowrap}.ex-source{background:white;border:1px solid #e2e8f0;border-radius:22px;padding:22px;margin-bottom:16px}.ex-source>p{font-size:1.08rem;line-height:1.8;font-weight:700;color:#1e293b}.ex-support-btn{margin-top:12px;border:0;background:#f1f5f9;border-radius:12px;padding:9px 12px;font-weight:800;color:#475569}.ex-support{margin-top:10px;padding:13px;border-radius:12px;background:#f8fafc;color:#64748b;border-left:4px solid #94a3b8}.hidden{display:none!important}.ex-questions{display:grid;gap:14px}.ex-q{background:white;border:1px solid #e2e8f0;border-radius:20px;padding:18px}.ex-q>b{display:block;margin-bottom:10px}.ex-q>div:first-of-type{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.ex-q button{padding:11px 13px;border:2px solid #e2e8f0;background:white;border-radius:12px;text-align:left}.ex-q button.correct{background:#f0fdf4;border-color:#22c55e}.ex-q button.wrong{background:#fef2f2;border-color:#ef4444}.ex-ok{color:#15803d;font-weight:900}.ex-no{color:#b91c1c;font-weight:900}.ex-score{display:flex;gap:16px;align-items:center;margin-top:16px;padding:18px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-radius:18px}.ex-score>span{font-size:2rem;font-weight:900;color:#047857}.ex-score b,.ex-score small{display:block}.ex-rubric{margin-top:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.ex-rubric label{display:block;margin:9px 0}.ex-useful{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.ex-useful h3{grid-column:1/-1;font-size:1.2rem;font-weight:900}.ex-useful>div{background:#faf5ff;border:1px solid #e9d5ff;border-radius:14px;padding:13px}.ex-useful b,.ex-useful span{display:block}.ex-useful b{color:#7e22ce}.ex-useful span{color:#64748b;margin-top:4px}.ex-rec{display:flex;align-items:center;gap:12px;margin:15px 0}.ex-rec>div{font-size:2rem;font-weight:900;color:#7c3aed;min-width:88px}

/* Bilingual Speaking Lab upgrades */
.sl-bilingual{background:linear-gradient(135deg,#fff,#fdf4ff);border:1px solid #f5d0fe;border-radius:18px;padding:16px}.sl-bilingual span,.sl-shadow small,.sl-role-lines small,.sl-prompts small{display:block;color:#64748b;margin-top:6px}.sl-chunks.bilingual span{display:flex;flex-direction:column;gap:2px}.sl-chunks.bilingual small{font-size:.75rem;opacity:.82}.sl-prompts.bilingual li{margin-bottom:10px}.sl-prompts.bilingual b{display:block;color:#1e293b}.sl-role-lines>div small{padding-top:4px;border-top:1px dashed #e2e8f0;margin-top:5px}

@media (max-width:900px){.px-mode-grid,.rl-grid,.ex-module-grid{grid-template-columns:1fr}.rl-levels,.ex-level-grid{grid-template-columns:repeat(2,1fr)}.rl-phrases{grid-template-columns:1fr}.px-week>div{grid-template-columns:repeat(2,1fr)}.px-hero,.rl-hero,.ex-hero,.ex-task-head{flex-direction:column}.ex-skill-strip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.rl-levels,.ex-level-grid,.ex-skill-strip,.ex-useful{grid-template-columns:1fr}.rl-options,.ex-q>div:first-of-type{grid-template-columns:1fr}.px-mode{padding:20px}.rl-nav{flex-direction:column}.px-week>div{grid-template-columns:1fr}}

/* =========================================================
   SpeakMundo Step 9 — DELE Academy
   ========================================================= */
.dele-shell{max-width:1180px;margin:0 auto}.dele-hero,.dele-level-head,.dele-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:linear-gradient(135deg,#ffffffee,#f8fafcee);border:1px solid #e2e8f0;border-radius:30px;padding:30px;box-shadow:0 18px 45px rgba(15,23,42,.08)}.dele-hero h2,.dele-level-head h2,.dele-page-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;font-weight:900;color:#0f172a;margin:.3rem 0 .8rem}.dele-page-head h2{font-size:clamp(1.8rem,3vw,2.5rem)}.dele-hero p,.dele-level-head p,.dele-page-head p{font-size:1.02rem;color:#64748b;max-width:800px;line-height:1.65}.dele-kicker{font-size:.78rem;font-weight:1000;letter-spacing:.14em;color:#4f46e5}.dele-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.dele-badges span{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;font-weight:900;padding:8px 11px;border-radius:999px;font-size:.86rem}.dele-mode-intro{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.dele-mode-intro>div{padding:18px;border-radius:18px;background:white;border:1px solid #e2e8f0}.dele-mode-intro b,.dele-mode-intro span{display:block}.dele-mode-intro b{color:#0f172a}.dele-mode-intro span{color:#64748b;margin-top:5px}.dele-section-title{font-size:1.3rem;font-weight:900;color:#0f172a;margin:28px 0 14px}.dele-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.dele-level-grid button{position:relative;overflow:hidden;border:0;border-radius:24px;background:white;text-align:left;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.08);transition:.22s}.dele-level-grid button:before{content:'';position:absolute;inset:0 auto 0 0;width:7px;background:var(--dele)}.dele-level-grid button:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(15,23,42,.15)}.dele-level-grid strong{display:block;font-size:2.2rem;font-weight:1000;color:var(--dele)}.dele-level-grid b{display:block;color:#1e293b;margin-top:2px}.dele-level-grid span,.dele-level-grid small{display:block;color:#64748b;margin-top:7px;line-height:1.4}.dele-level-grid small{font-weight:900;color:var(--dele)}.dele-recent,.dele-history,.dele-official-structure,.dele-dayplan,.dele-study-cycle{margin-top:22px;padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.dele-recent h3,.dele-history h3,.dele-official-structure h3,.dele-dayplan h3,.dele-study-cycle h3{font-size:1.18rem;font-weight:900;margin-bottom:14px}.dele-recent>span{display:inline-flex;flex-direction:column;margin:4px 8px 4px 0;padding:10px 13px;background:#f8fafc;border-radius:14px}.dele-recent small{color:#64748b}.dele-history>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.dele-history>div:last-child{border-bottom:0}.dele-history span{color:#64748b}.dele-disclaimer{margin-top:20px;padding:16px 18px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:18px;line-height:1.55}.dele-level-head{border-top:8px solid var(--dele)}.dele-pass{display:flex;gap:14px;align-items:flex-start;margin:18px 0;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #86efac}.dele-pass b{white-space:nowrap;color:#166534}.dele-pass span{color:#365314;line-height:1.55}.dele-spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dele-spec-card{display:flex;gap:14px;align-items:center;padding:17px;border-radius:20px;background:#fff;border:1px solid #e2e8f0}.dele-spec-icon{font-size:2rem}.dele-spec-card b,.dele-spec-card span,.dele-spec-card small{display:block}.dele-spec-card b{font-size:.98rem;color:#0f172a}.dele-spec-card span{color:#475569;margin-top:4px}.dele-spec-card small{color:#64748b;margin-top:3px}.dele-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.dele-action{border:0;border-radius:26px;padding:24px;text-align:left;color:white;min-height:180px;box-shadow:0 15px 36px rgba(15,23,42,.12);transition:.22s}.dele-action:hover{transform:translateY(-4px)}.dele-action span{font-size:2.6rem}.dele-action b,.dele-action small{display:block}.dele-action b{font-size:1.4rem;margin:8px 0}.dele-action small{line-height:1.5;opacity:.92}.dele-action.train{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.dele-action.mock{background:linear-gradient(135deg,#ea580c,#f59e0b)}.dele-action.strategy{background:linear-gradient(135deg,#0891b2,#14b8a6)}.dele-table-wrap{overflow:auto}.dele-official-structure table{width:100%;border-collapse:collapse}.dele-official-structure th,.dele-official-structure td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left}.dele-official-structure th{background:#f8fafc;color:#475569;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.dele-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.dele-skill-grid button,.dele-mock-grid button{border:0;border-radius:26px;padding:25px;text-align:left;color:white;box-shadow:0 14px 36px rgba(15,23,42,.12);transition:.2s}.dele-skill-grid button:hover,.dele-mock-grid button:hover{transform:translateY(-4px)}.dele-skill-grid span,.dele-mock-grid span{font-size:2.7rem}.dele-skill-grid b,.dele-skill-grid strong,.dele-skill-grid small,.dele-mock-grid b,.dele-mock-grid strong,.dele-mock-grid small{display:block}.dele-skill-grid b,.dele-mock-grid b{font-size:1.35rem;margin-top:8px}.dele-skill-grid strong,.dele-mock-grid strong{margin-top:7px}.dele-skill-grid small,.dele-mock-grid small{margin-top:7px;opacity:.9}.dele-skill-grid .reading,.dele-mock-grid .reading{background:linear-gradient(135deg,#2563eb,#4f46e5)}.dele-skill-grid .listening,.dele-mock-grid .listening{background:linear-gradient(135deg,#0891b2,#14b8a6)}.dele-skill-grid .writing,.dele-mock-grid .writing{background:linear-gradient(135deg,#db2777,#f43f5e)}.dele-skill-grid .speaking,.dele-mock-grid .speaking{background:linear-gradient(135deg,#7e22ce,#a855f7)}.dele-task-list{display:grid;gap:12px;margin-top:20px}.dele-task-list button{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid #e2e8f0;background:white;border-radius:18px;padding:17px;transition:.18s}.dele-task-list button:hover{transform:translateX(4px);border-color:#a5b4fc}.dele-task-list>button>span{font-size:.8rem;font-weight:1000;letter-spacing:.08em;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:8px 10px;text-align:center}.dele-task-list b,.dele-task-list small{display:block}.dele-task-list b{color:#0f172a;font-size:1.03rem}.dele-task-list small{color:#64748b;margin-top:4px}.dele-task-list strong{font-size:.85rem;color:#475569}.dele-tipbox{margin-top:18px;padding:16px;border-radius:18px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;line-height:1.55}.dele-timerbar{position:sticky;top:78px;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;background:#0f172a;color:white;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.25)}.dele-timerbar small,.dele-timerbar strong{display:block}.dele-timerbar small{font-size:.7rem;letter-spacing:.1em;color:#cbd5e1;font-weight:900}.dele-timerbar strong{font-size:1.8rem;font-weight:1000}.dele-timerbar strong.urgent{color:#fca5a5}.dele-timer-actions{display:flex;align-items:center;gap:8px}.dele-timer-actions button{border:1px solid #475569;background:#1e293b;color:white;border-radius:10px;padding:8px 10px;font-weight:800}.dele-no-pause{font-size:.85rem;color:#fcd34d;font-weight:900}.dele-task-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:white;border:1px solid #e2e8f0;border-radius:24px;padding:22px}.dele-task-heading h2{font-size:2rem;font-weight:900;color:#0f172a;margin:.2rem 0 .45rem}.dele-task-heading p{color:#64748b;line-height:1.55}.dele-task-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.dele-task-meta span{padding:8px 11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:.85rem}.dele-source,.dele-audio-panel{margin:14px 0;padding:22px;background:white;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 9px 25px rgba(15,23,42,.05)}.dele-source-label{font-size:.72rem;font-weight:1000;letter-spacing:.12em;color:#6366f1;margin-bottom:10px}.dele-source p{font-size:1.05rem;line-height:1.85;color:#1e293b;white-space:normal}.dele-audio-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#ecfeff,#f0fdfa)}.dele-audio-panel b,.dele-audio-panel span{display:block}.dele-audio-panel b{color:#155e75}.dele-audio-panel span{color:#64748b;margin-top:4px}.dele-audio-panel>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.dele-questions{display:grid;gap:14px}.dele-question{padding:19px;background:white;border:1px solid #e2e8f0;border-radius:20px}.dele-question>b{display:block;font-size:1.02rem;color:#0f172a;margin-bottom:10px}.dele-q-en{display:block;color:#64748b;margin:-5px 0 10px;font-style:italic}.dele-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.dele-options label{position:relative;display:flex;align-items:center;min-height:48px;border:2px solid #e2e8f0;border-radius:13px;cursor:pointer;background:#fff;overflow:hidden}.dele-options label:hover{border-color:#a5b4fc}.dele-options label input{position:absolute;opacity:0}.dele-options label span{width:100%;padding:12px 13px;font-weight:800;color:#334155}.dele-options label:has(input:checked){border-color:#6366f1;background:#eef2ff}.dele-options label.correct{border-color:#22c55e;background:#f0fdf4}.dele-options label.wrong{border-color:#ef4444;background:#fef2f2}.dele-ok,.dele-no{margin-top:10px;padding:10px 12px;border-radius:12px}.dele-ok{background:#f0fdf4;color:#166534}.dele-no{background:#fff7ed;color:#9a3412}.dele-ok b,.dele-ok span,.dele-no b,.dele-no span{display:block}.dele-ok span,.dele-no span{margin-top:3px;font-size:.9rem}.dele-sticky-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding:14px;background:#ffffffdd;backdrop-filter:blur(10px);border:1px solid #e2e8f0;border-radius:18px;position:sticky;bottom:10px;z-index:20}.dele-sticky-actions button:disabled,.dele-writing-actions button:disabled{opacity:.45;cursor:not-allowed}.dele-scorebox{display:flex;gap:18px;align-items:center;margin-top:16px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #a7f3d0}.dele-scorebox>strong{font-size:2.4rem;color:#047857}.dele-scorebox b,.dele-scorebox span{display:block}.dele-scorebox span{color:#475569;margin-top:4px}.dele-english{margin-top:14px;padding:18px;border-radius:18px;background:#f8fafc;border-left:5px solid #94a3b8;color:#475569;line-height:1.65}.dele-writing-prompt,.dele-speaking-prompt{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.dele-writing-prompt>div,.dele-speaking-prompt>div{background:white;border:1px solid #e2e8f0;border-radius:18px;padding:17px}.dele-writing-prompt b,.dele-speaking-prompt b{color:#4338ca}.dele-writing-prompt p,.dele-speaking-prompt p{margin-top:7px;color:#334155;line-height:1.55}.dele-writing-tools{display:flex;gap:15px;flex-wrap:wrap;padding:10px 13px;background:#f8fafc;border-radius:14px;color:#475569;font-size:.9rem}.dele-writing-area,.dele-exam-writing textarea,.dele-oral-sim textarea{width:100%;min-height:280px;margin-top:12px;border:2px solid #cbd5e1;border-radius:18px;background:white;padding:16px;outline:none;font-size:1rem;line-height:1.65}.dele-writing-area:focus,.dele-exam-writing textarea:focus,.dele-oral-sim textarea:focus{border-color:#6366f1;box-shadow:0 0 0 4px #eef2ff}.dele-writing-actions,.dele-speaking-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.dele-rubric{margin-top:16px;padding:19px;background:white;border:1px solid #e2e8f0;border-radius:20px}.dele-rubric h3{font-size:1.15rem;font-weight:900;margin-bottom:12px}.dele-rubric label{display:flex;gap:9px;align-items:flex-start;padding:8px 0}.dele-rubric-scale{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e2e8f0}.dele-rubric-scale button{border:0;border-radius:10px;padding:8px 10px;background:#eef2ff;color:#3730a3;font-weight:900}.dele-model{margin-top:16px;background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #fde68a;border-radius:20px;padding:18px}.dele-model-head{display:flex;justify-content:space-between;gap:12px}.dele-model-head button{border:0;background:white;border-radius:10px;padding:7px 9px}.dele-model p{font-weight:750;line-height:1.7;color:#1e293b;margin:10px 0}.dele-model details{color:#64748b}.dele-speaking-train{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:linear-gradient(135deg,#faf5ff,#fdf4ff);border:1px solid #e9d5ff;border-radius:18px;margin:12px 0}.dele-speaking-train small,.dele-speaking-train strong{display:block}.dele-speaking-train strong{font-size:2rem;color:#7e22ce}.dele-transcript{min-height:90px;padding:15px;border:2px dashed #cbd5e1;background:white;border-radius:16px;color:#475569}.dele-warn{margin-top:8px;color:#b45309}.dele-useful{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.dele-useful h3{grid-column:1/-1;font-size:1.15rem;font-weight:900}.dele-useful>div{position:relative;padding:14px;background:#faf5ff;border:1px solid #e9d5ff;border-radius:15px}.dele-useful b,.dele-useful span{display:block}.dele-useful b{color:#7e22ce}.dele-useful span{color:#64748b;margin-top:4px}.dele-useful button{position:absolute;right:9px;top:9px;border:0;background:white;border-radius:9px;padding:5px}.dele-simulator-warning{display:flex;gap:12px;margin:18px 0;padding:16px;background:#fff7ed;border:1px solid #fdba74;border-radius:18px;color:#9a3412}.dele-simulator-warning b{white-space:nowrap}.dele-mock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dele-dayplan>div,.dele-study-cycle>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dele-dayplan>div span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef2ff;color:#4338ca;font-weight:900}.dele-dayplan i,.dele-study-cycle i{color:#94a3b8}.dele-dayplan p{color:#64748b;margin-top:10px}.dele-exam-banner{display:flex;gap:12px;align-items:center;padding:12px 14px;margin-bottom:12px;border-radius:16px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.dele-exam-banner b{white-space:nowrap}.dele-sim-result{text-align:center;padding:55px 24px;background:white;border:1px solid #e2e8f0;border-radius:28px;box-shadow:0 20px 50px rgba(15,23,42,.08)}.dele-sim-result>span{font-size:4rem}.dele-sim-result h2{font-size:2rem;font-weight:900;margin:10px 0}.dele-sim-result>strong{font-size:4rem;color:#ea580c}.dele-sim-result.good>strong{color:#16a34a}.dele-sim-result p{max-width:700px;margin:10px auto 20px;color:#64748b}.dele-sim-result>div{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.dele-exam-writing,.dele-post-write{margin:14px 0;padding:20px;background:white;border:1px solid #e2e8f0;border-radius:22px}.dele-exam-writing h3,.dele-post-write h3{font-size:1.2rem;font-weight:900}.dele-exam-writing p{margin:8px 0;color:#334155;line-height:1.55}.dele-your-answer{padding:13px;background:#f8fafc;border-radius:14px;margin:10px 0}.dele-your-answer b,.dele-your-answer p{display:block}.dele-your-answer p{white-space:pre-wrap;color:#475569;margin-top:5px}.dele-oral-sim{text-align:center;background:white;border:1px solid #e2e8f0;border-radius:28px;padding:28px}.dele-oral-sim h2{font-size:2.1rem;font-weight:900}.dele-oral-sim>p{color:#64748b}.dele-bigclock{font-size:5rem;font-weight:1000;color:#7e22ce;margin:18px 0}.dele-oral-notes{display:grid;gap:10px;text-align:left}.dele-oral-notes>div{padding:14px;border-radius:15px;background:#faf5ff;border:1px solid #e9d5ff}.dele-oral-notes p{margin-top:5px;color:#475569}.dele-oral-sim textarea{text-align:left;min-height:150px}.dele-oral-rubric{max-width:800px;margin:18px auto}.dele-strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}.dele-strategy-grid article{padding:22px;background:white;border:1px solid #e2e8f0;border-radius:22px}.dele-strategy-grid article>span{font-size:2.2rem}.dele-strategy-grid h3{font-size:1.2rem;font-weight:900;margin:7px 0}.dele-strategy-grid p{color:#64748b;line-height:1.6}.dele-strategy-grid b{display:block;margin-top:10px;color:#4f46e5}.dele-study-cycle b{background:#eef2ff;color:#3730a3;border-radius:10px;padding:8px 10px}.dele-study-cycle span{color:#475569}

@media(max-width:980px){.dele-level-grid{grid-template-columns:repeat(2,1fr)}.dele-spec-grid,.dele-skill-grid{grid-template-columns:repeat(2,1fr)}.dele-actions-grid{grid-template-columns:1fr}.dele-options{grid-template-columns:1fr 1fr}.dele-task-list button{grid-template-columns:90px 1fr}.dele-task-list button>strong{grid-column:2}.dele-writing-prompt,.dele-speaking-prompt{grid-template-columns:1fr}.dele-useful{grid-template-columns:1fr}.dele-useful h3{grid-column:1}.dele-strategy-grid{grid-template-columns:1fr}.dele-hero,.dele-level-head,.dele-page-head,.dele-task-heading{flex-direction:column}.dele-audio-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.dele-level-grid,.dele-spec-grid,.dele-skill-grid,.dele-mock-grid,.dele-mode-intro{grid-template-columns:1fr}.dele-options{grid-template-columns:1fr}.dele-timerbar{top:68px;align-items:flex-start;flex-direction:column}.dele-task-list button{grid-template-columns:1fr}.dele-task-list button>strong{grid-column:1}.dele-bigclock{font-size:3.7rem}.dele-pass,.dele-simulator-warning{flex-direction:column}.dele-sticky-actions{position:static}.dele-hero,.dele-level-head,.dele-page-head{padding:22px}}

/* =========================================================
   SpeakMundo DELE Academy Plus — Step 10
   ========================================================= */
.dp-shell{max-width:1180px;margin:0 auto;padding:8px 0 60px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}
.dp-shell *{box-sizing:border-box}.dp-shell button{font:inherit}.dp-kicker{font-size:.76rem;letter-spacing:.13em;font-weight:900;color:#7c3aed;margin-bottom:8px}.dp-title{font-size:1.55rem;font-weight:900;margin:32px 0 16px}.dp-hero{background:linear-gradient(135deg,#25134a 0%,#5423a7 55%,#8b5cf6 100%);color:#fff;border-radius:28px;padding:34px;display:flex;justify-content:space-between;gap:24px;box-shadow:0 22px 55px rgba(65,31,133,.24);position:relative;overflow:hidden}.dp-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.08);right:-110px;top:-150px}.dp-hero .dp-kicker{color:#f4d8ff}.dp-hero h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.03;font-weight:950;max-width:810px;margin:0 0 14px}.dp-hero p{font-size:1.05rem;line-height:1.65;max-width:820px;color:#ede9fe}.dp-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.dp-hero-stats span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:10px 12px;border-radius:14px;font-size:.86rem;backdrop-filter:blur(6px)}.dp-hero-stats b{font-size:1rem;margin-right:4px}.dp-back{align-self:flex-start;border:0;background:#fff;color:#4c1d95;padding:11px 14px;border-radius:13px;font-weight:850;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.12);white-space:nowrap}.dp-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #ede9fe;border-radius:18px;padding:15px 18px;margin-top:18px;box-shadow:0 9px 28px rgba(62,46,102,.06)}.dp-path b{color:#4c1d95;margin-right:4px}.dp-path span{font-size:.88rem;font-weight:750;color:#4b5563}.dp-path i{font-style:normal;color:#a78bfa}
.dp-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dp-levels button{background:#fff;border:1px solid #edf0f5;border-top:5px solid var(--lv);border-radius:20px;padding:20px 16px;text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(25,38,71,.07);transition:.2s}.dp-levels button:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(25,38,71,.12)}.dp-levels strong{display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:15px;background:color-mix(in srgb,var(--lv) 14%,white);color:var(--lv);font-size:1.2rem}.dp-levels b{display:block;font-size:1.03rem;margin:13px 0 6px}.dp-levels small{display:block;color:#6b7280;line-height:1.5}.dp-levels button>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.dp-levels button>div span{font-size:.72rem;background:#f8fafc;border-radius:999px;padding:5px 8px;color:#475569}.dp-note{margin-top:20px;background:#fffbeb;border:1px solid #fde68a;color:#78350f;border-radius:16px;padding:14px 16px;line-height:1.55}
.dp-level-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--lv) 18%,#fff),#fff);border:1px solid color-mix(in srgb,var(--lv) 24%,#fff);border-left:7px solid var(--lv);border-radius:24px;padding:26px;display:flex;justify-content:space-between;gap:20px}.dp-level-hero h2,.dp-head h2{font-weight:950;font-size:clamp(1.85rem,3vw,2.7rem);margin:0 0 8px}.dp-level-hero p,.dp-head p{color:#64748b;line-height:1.6}.dp-progress-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.dp-progress-row>div{background:#fff;border:1px solid #eef2f7;border-radius:17px;padding:15px 18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.dp-progress-row b{display:block;font-size:1.55rem;color:#4c1d95}.dp-progress-row span{font-size:.82rem;color:#64748b}
.dp-dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 24px}.dp-feature{min-height:180px;border:0;border-radius:22px;padding:20px;text-align:left;cursor:pointer;display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(15,23,42,.07);transition:.2s}.dp-feature:hover{transform:translateY(-4px)}.dp-feature>span{font-size:2.1rem}.dp-feature>b{font-size:1.03rem;margin:14px 0 7px}.dp-feature small{line-height:1.45;color:#475569}.dp-feature.learn{background:linear-gradient(145deg,#f5f3ff,#ede9fe)}.dp-feature.vocab{background:linear-gradient(145deg,#ecfeff,#cffafe)}.dp-feature.packs{background:linear-gradient(145deg,#fff7ed,#ffedd5)}.dp-feature.write{background:linear-gradient(145deg,#eff6ff,#dbeafe)}.dp-feature.speak{background:linear-gradient(145deg,#fdf2f8,#fce7f3)}.dp-feature.errors{background:linear-gradient(145deg,#fff1f2,#ffe4e6)}.dp-feature.official{background:linear-gradient(145deg,#f0fdf4,#dcfce7)}.dp-feature.mock{background:linear-gradient(145deg,#fefce8,#fef9c3)}
.dp-study-card{background:#172033;color:#fff;border-radius:22px;padding:22px}.dp-study-card h3{font-size:1.15rem;font-weight:900;margin-bottom:14px}.dp-study-card>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;margin:8px 0}.dp-study-card>div b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#7c3aed}.dp-study-card span{color:#dbe4f0;font-size:.9rem}
.dp-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:22px}.dp-head>div:first-child{max-width:850px}.dp-master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dp-master{background:#fff;border:1px solid #edf1f7;border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.dp-master.reading{border-top:5px solid #3b82f6}.dp-master.listening{border-top:5px solid #06b6d4}.dp-master.writing{border-top:5px solid #8b5cf6}.dp-master.speaking{border-top:5px solid #ec4899}.dp-master-top{display:flex;gap:12px;align-items:center}.dp-master-top>span{font-size:2rem}.dp-master-top b{display:block;font-size:1.05rem}.dp-master-top small{color:#64748b}.dp-focus{background:#f8fafc;border-radius:13px;padding:12px;margin:16px 0;font-weight:750;line-height:1.5}.dp-master h4{font-size:.88rem;text-transform:uppercase;letter-spacing:.05em;color:#6d28d9;font-weight:900;margin:15px 0 7px}.dp-master ol,.dp-master ul{padding-left:20px;color:#475569;line-height:1.65}.dp-master>button{margin-top:14px;border:0;background:#172033;color:#fff;border-radius:12px;padding:10px 13px;font-weight:800;cursor:pointer}.dp-task-map{display:grid;gap:12px}.dp-task-map article{background:#fff;border:1px solid #e8edf4;border-radius:17px;padding:17px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.dp-task-map article>div{display:flex;gap:12px;align-items:center}.dp-task-map span{font-size:.7rem;font-weight:900;background:#ede9fe;color:#5b21b6;padding:5px 8px;border-radius:999px}.dp-task-map b{font-size:1rem}.dp-task-map p{color:#64748b;margin:8px 0}.dp-task-map small{color:#0f766e;font-weight:750}.dp-callout{margin-top:18px;background:linear-gradient(135deg,#1e1b4b,#312e81);color:#fff;border-radius:18px;padding:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dp-callout span{color:#e0e7ff;flex:1;min-width:250px}.dp-callout button{border:0;background:#fff;color:#312e81;border-radius:11px;padding:10px 13px;font-weight:850;cursor:pointer}
.dp-vocab-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #e7eef6;padding:15px;border-radius:18px;margin-bottom:18px}.dp-vocab-progress>div:first-child b{display:block;font-size:1.25rem}.dp-vocab-progress>div:first-child span{font-size:.75rem;color:#64748b}.dp-vocab-progress .bar{height:11px;background:#eef2ff;border-radius:999px;overflow:hidden}.dp-vocab-progress .bar i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#06b6d4);border-radius:999px}.dp-vocab-progress button,.dp-vocab-actions button{border:0;background:#4f46e5;color:#fff;padding:10px 13px;border-radius:11px;font-weight:800;cursor:pointer}.dp-vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dp-vocab-grid>button{background:#fff;border:1px solid #e8edf3;border-radius:18px;padding:17px;text-align:left;cursor:pointer;box-shadow:0 7px 22px rgba(15,23,42,.05)}.dp-vocab-grid span{font-size:1.5rem}.dp-vocab-grid b{display:block;margin:10px 0 5px}.dp-vocab-grid small{display:block;color:#64748b}.dp-vocab-grid i{display:block;font-style:normal;font-size:.78rem;color:#6d28d9;margin-top:10px;font-weight:800}.dp-vocab-actions{display:flex;gap:9px;margin-bottom:15px}.dp-flash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dp-flash{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e5ebf3;border-radius:19px;padding:18px;box-shadow:0 9px 24px rgba(15,23,42,.05)}.dp-flash.learned{border-color:#86efac;background:linear-gradient(145deg,#f0fdf4,#fff)}.dp-flash-es{font-size:1.15rem;font-weight:900;color:#312e81}.dp-flash-en{color:#64748b;margin:8px 0 16px;min-height:38px}.dp-flash>div:last-child{display:flex;gap:8px}.dp-flash button{border:0;border-radius:10px;padding:8px 10px;background:#ede9fe;color:#4c1d95;font-weight:800;cursor:pointer}.dp-flash button:last-child{background:#172033;color:#fff}
.dp-quiz,.dp-objectives{display:grid;gap:14px}.dp-quiz article,.dp-objectives article{background:#fff;border:1px solid #e5ebf3;border-radius:20px;padding:20px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.dp-qnum{display:inline-block;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:900}.dp-quiz h3,.dp-objectives h3{font-size:1.1rem;font-weight:900;margin:11px 0 4px}.dp-objectives article>small{display:block;color:#64748b;margin-bottom:12px}.dp-mini-audio{border:0;background:#ecfeff;color:#0e7490;border-radius:10px;padding:7px 9px;font-weight:800}.dp-options{display:grid;gap:8px;margin-top:12px}.dp-options label{display:flex;align-items:center;gap:10px;border:1px solid #e8edf3;padding:11px 12px;border-radius:12px;cursor:pointer}.dp-options label:has(input:checked){border-color:#8b5cf6;background:#f5f3ff}.dp-feedback{margin-top:10px;display:flex;gap:8px;flex-direction:column}.dp-feedback .ok{color:#15803d}.dp-feedback .bad{color:#be123c}.dp-feedback span{color:#475569}.dp-primary-wide{width:100%;margin-top:15px;border:0;background:linear-gradient(90deg,#5b21b6,#7c3aed);color:#fff;border-radius:14px;padding:13px 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(91,33,182,.2)}
.dp-pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.dp-pack-grid>button{background:#fff;border:1px solid #e6edf4;border-radius:20px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 9px 23px rgba(15,23,42,.05);transition:.2s}.dp-pack-grid>button:hover{transform:translateY(-3px)}.dp-pack-grid>button>div{display:flex;justify-content:space-between;gap:8px}.dp-pack-grid span{font-size:.7rem;font-weight:900;color:#7c3aed;background:#f3e8ff;padding:4px 7px;border-radius:999px}.dp-pack-grid em{font-style:normal;font-size:.72rem;color:#0f766e;background:#ccfbf1;padding:4px 7px;border-radius:999px}.dp-pack-grid b{display:block;font-size:1.05rem;margin:12px 0 6px}.dp-pack-grid p{font-size:.86rem;color:#475569}.dp-pack-grid small{color:#64748b}.dp-pack-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.dp-pack-tabs button{border:1px solid #e6eaf0;background:#fff;border-radius:13px;padding:11px;font-weight:850;cursor:pointer}.dp-pack-tabs button.active{background:#312e81;color:#fff;border-color:#312e81}.dp-pack-tabs button.done:not(.active){background:#f0fdf4;border-color:#86efac;color:#166534}.dp-clock{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#172033;color:#fff;border-radius:18px;padding:14px 17px;margin-bottom:14px}.dp-clock small{display:block;font-size:.64rem;letter-spacing:.08em;color:#cbd5e1}.dp-clock strong{font-size:1.8rem;font-variant-numeric:tabular-nums}.dp-clock strong.urgent{color:#fca5a5}.dp-clock button{border:0;background:#fff;color:#172033;border-radius:9px;padding:8px 10px;font-weight:800;margin-left:5px;cursor:pointer}.dp-training-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:15px;padding:13px 15px;display:flex;gap:8px;flex-direction:column;margin-bottom:14px}.dp-training-banner b{color:#1d4ed8}.dp-training-banner span{color:#475569;font-size:.88rem}.dp-audio-panel{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:13px}.dp-audio-panel button,.dp-speech-tools button,.dp-useful button{border:0;background:#ecfeff;color:#0e7490;border-radius:11px;padding:10px 12px;font-weight:850;cursor:pointer}.dp-source,.dp-prompt,.dp-model{background:#fff;border:1px solid #e5eaf0;border-radius:20px;padding:20px;margin-bottom:14px;box-shadow:0 7px 22px rgba(15,23,42,.045)}.dp-source-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.dp-source-top button{border:0;background:#f1f5f9;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer}.dp-source p,.dp-prompt p,.dp-model p{white-space:pre-line;line-height:1.75;color:#334155;margin:10px 0}.dp-source details,.dp-prompt details,.dp-model details{background:#f8fafc;border-radius:12px;padding:10px}.dp-source summary,.dp-prompt summary,.dp-model summary{cursor:pointer;font-weight:850;color:#475569}.dp-writing{width:100%;min-height:250px;border:2px solid #dfe6ef;border-radius:17px;padding:16px;font-size:1rem;line-height:1.65;outline:none;background:#fff}.dp-writing:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #ede9fe}.dp-wordrow{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 14px;color:#64748b}.dp-wordrow b{color:#4c1d95}.dp-checklist{background:#f8fafc;border:1px solid #e8edf4;border-radius:18px;padding:16px;margin:12px 0}.dp-checklist h3{font-weight:900;margin-bottom:8px}.dp-checklist label{display:block;margin:8px 0;color:#475569}.dp-writing-actions{display:flex;gap:9px;flex-wrap:wrap}.dp-writing-actions button{border:0;background:#4f46e5;color:#fff;border-radius:11px;padding:10px 12px;font-weight:850;cursor:pointer}.dp-writing-actions button+button{background:#172033}.dp-model{margin-top:12px;background:#f0fdf4;border-color:#bbf7d0}.dp-useful{background:#fff7ed;border:1px solid #fed7aa;border-radius:17px;padding:14px;margin-bottom:12px}.dp-useful h3{font-weight:900;margin-bottom:9px}.dp-useful button{background:#fff;color:#9a3412;border:1px solid #fed7aa;margin:4px}.dp-speech-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.dp-score{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;padding:12px 14px;margin-bottom:12px;display:flex;gap:12px;align-items:center}.dp-score b{font-size:1.4rem;color:#047857}.dp-score span{color:#475569}
.dp-prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dp-prod-grid button{background:#fff;border:1px solid #e6ebf2;border-radius:18px;padding:17px;text-align:left;cursor:pointer;box-shadow:0 7px 20px rgba(15,23,42,.05)}.dp-prod-grid span{font-size:.72rem;font-weight:900;color:#7c3aed}.dp-prod-grid b{display:block;margin:9px 0 6px}.dp-prod-grid small{color:#64748b}.dp-errors{display:grid;gap:11px}.dp-errors article{background:#fff;border-left:5px solid #fb7185;border-radius:16px;padding:16px;box-shadow:0 7px 18px rgba(15,23,42,.05)}.dp-errors article>div{display:flex;justify-content:space-between}.dp-errors span{font-weight:850;color:#be123c}.dp-errors small{color:#94a3b8}.dp-errors h3{font-weight:900;margin:10px 0 4px}.dp-errors p{color:#64748b}.dp-errors b{display:block;margin-top:8px;color:#166534}.dp-errors em{display:block;font-style:normal;color:#475569;margin-top:4px}.dp-danger{margin-top:14px;border:0;background:#be123c;color:#fff;border-radius:11px;padding:10px 13px;font-weight:850;cursor:pointer}.dp-empty{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:22px;padding:50px}.dp-empty span{font-size:2.6rem}.dp-empty h3{font-weight:900;margin:10px 0}.hidden{display:none!important}
@media(max-width:1050px){.dp-levels{grid-template-columns:repeat(3,1fr)}.dp-dashboard-grid{grid-template-columns:repeat(2,1fr)}.dp-vocab-grid,.dp-flash-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dp-shell{padding:0 4px 40px}.dp-hero,.dp-level-hero,.dp-head{flex-direction:column}.dp-hero{padding:23px;border-radius:22px}.dp-hero h2{font-size:2rem}.dp-levels,.dp-master-grid,.dp-vocab-grid,.dp-flash-grid,.dp-pack-grid,.dp-prod-grid{grid-template-columns:1fr}.dp-dashboard-grid{grid-template-columns:1fr 1fr}.dp-feature{min-height:150px}.dp-progress-row{grid-template-columns:1fr}.dp-pack-tabs{grid-template-columns:1fr 1fr}.dp-vocab-progress{grid-template-columns:1fr}.dp-clock{align-items:flex-start;flex-direction:column}.dp-wordrow{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.dp-dashboard-grid{grid-template-columns:1fr}.dp-levels{grid-template-columns:1fr}.dp-path i{display:none}}


/* ===== Step 11 SpeakMundo DELE Refresh ===== */
body{
  background:
    radial-gradient(circle at top left, rgba(255,98,0,.16), transparent 25%),
    radial-gradient(circle at top right, rgba(104,55,255,.16), transparent 24%),
    linear-gradient(135deg,#f6f7fb 0%,#eef4ff 48%,#fff6f1 100%);
  color:#1f2940;
}
#level-detail.active{padding-bottom:50px}
.dp-shell{max-width:1180px;margin:0 auto;padding:8px 10px 54px}
.dp-hero,.dp-level-hero,.dp-head{background:linear-gradient(135deg,#ffffff 0%,#fbfcff 55%,#fff7f3 100%);border:1px solid #e7e8f3;box-shadow:0 20px 45px rgba(55,65,81,.08);position:relative;overflow:hidden}
.dp-hero::after,.dp-level-hero::after,.dp-head::after{content:'';position:absolute;inset:auto -40px -40px auto;width:180px;height:180px;background:radial-gradient(circle, rgba(255,98,0,.18), transparent 60%);pointer-events:none}
.dp-hero h2,.dp-level-hero h2,.dp-head h2{line-height:1.15}
.dp-hero-stats span,.dp-progress-row>div,.dp-study-card,.dp-feature,.dp-master,.dp-vocab-progress,.dp-vocab-grid>button,.dp-flash,.dp-pack-grid>button,.dp-source,.dp-prompt,.dp-model,.dp-quiz article,.dp-objectives article,.dp-prod-grid button,.dp-errors article,.dp-empty{box-shadow:0 12px 30px rgba(31,41,55,.06)}
.dp-levels button,.dp-dashboard-grid .dp-feature,.dp-pack-grid>button,.dp-prod-grid button,.dp-vocab-grid>button,.dp-flash,.dp-master,.dp-objectives article,.dp-quiz article{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.dp-levels button:hover,.dp-dashboard-grid .dp-feature:hover,.dp-pack-grid>button:hover,.dp-prod-grid button:hover,.dp-vocab-grid>button:hover,.dp-flash:hover,.dp-master:hover,.dp-objectives article:hover,.dp-quiz article:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(31,41,55,.1)}
.dp-feature{min-height:170px;padding:22px;border-radius:22px}.dp-feature span{font-size:2rem}.dp-feature small{line-height:1.5}
.dp-progress-row>div{background:linear-gradient(180deg,#ffffff,#faf8ff);border:1px solid #ebe8ff}.dp-study-card{background:linear-gradient(135deg,#fff,#f6f8ff);border:1px solid #e8ecf6}
.dp-vocab-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.dp-flash-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.dp-flash{position:relative;background:linear-gradient(180deg,#ffffff 0%,#f7f6ff 100%);border:1px solid #ecebfb;border-radius:24px;overflow:hidden}
.dp-flash::before{content:'';position:absolute;left:0;top:0;right:0;height:10px;background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316)}
.dp-flash-es{margin-top:10px;font-size:1.18rem}.dp-flash-en{font-size:.98rem;line-height:1.55}.dp-flash>div:last-child{justify-content:space-between;flex-wrap:wrap}.dp-flash button{padding:9px 12px;border-radius:12px}
.dp-pack-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dp-pack-grid>button{border-radius:22px;background:linear-gradient(180deg,#fff,#fbfcff);padding:20px}.dp-pack-grid p{line-height:1.55}
.dp-pack-tabs{background:#fff;border:1px solid #eceff8;padding:8px;border-radius:18px}.dp-pack-tabs button{border-radius:12px}
.dp-source,.dp-prompt,.dp-model,.dp-objectives article,.dp-quiz article{border-radius:22px}.dp-source p,.dp-prompt p,.dp-model p{font-size:1rem}
.dp-audio-panel{margin-bottom:10px}
.dp-audio-status{margin:8px 0 12px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #d9e2f0;color:#475569;font-weight:700}
.dp-audio-status.ok{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.dp-audio-status.warn{background:#fff7ed;border-color:#fdba74;color:#9a3412}.dp-audio-status.info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.dp-listen-coach{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#1e1b4b,#312e81 65%,#7c2d12);color:#fff;border-radius:18px;padding:16px 18px;margin-bottom:14px}
.dp-listen-coach span{display:block;color:#ddd6fe;font-size:.92rem;margin-top:4px}.dp-play-badge{background:rgba(255,255,255,.12);padding:10px 12px;border-radius:12px;font-weight:800}.dp-play-badge b{font-size:1.1rem;color:#fff}
.dp-options{gap:10px}.dp-options label{border-radius:14px;padding:14px 14px;align-items:flex-start;line-height:1.45}.dp-options label span{flex:1}
.dp-writing{border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff)}.dp-checklist{border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff)}
.dp-writing-actions button,.dp-vocab-progress button,.dp-vocab-actions button,.dp-primary-wide{background:linear-gradient(90deg,#5b21b6,#7c3aed 60%,#f97316)}
.dp-writing-actions button+button{background:linear-gradient(90deg,#0f172a,#334155)}
.dp-useful{background:linear-gradient(180deg,#fff7ed,#fff);border-radius:20px}.dp-useful button{padding:10px 12px;border-radius:12px}
.dp-master-grid{gap:16px}.dp-master{padding:22px;border-radius:22px;background:linear-gradient(180deg,#fff,#fcfcff)}
.dp-task-map{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.dp-task-map article{background:#fff;border:1px solid #eceef7;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(31,41,55,.05)}
.dp-prod-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.dp-prod-grid button{border-radius:20px;padding:20px}
.dp-empty{background:linear-gradient(180deg,#fff,#fafaff)}
@media(max-width:700px){.dp-feature{min-height:auto}.dp-listen-coach{padding:14px}}


/* ===== Step 12 — SpeakMundo DELE Fresh Theme + Flip Cards ===== */
:root{--sm-purple:#5424b9;--sm-purple2:#7429d6;--sm-orange:#ff5a1f;--sm-ink:#17213a;--sm-soft:#f7f7ff}
.dp-hero{
  background:
    radial-gradient(circle at 86% 18%,rgba(255,122,63,.34),transparent 26%),
    linear-gradient(125deg,#34106f 0%,#5821ad 48%,#7c2dd3 72%,#f15a24 145%) !important;
  color:#fff !important;border:0 !important;
  box-shadow:0 24px 52px rgba(67,34,133,.25) !important;
}
.dp-hero::before{content:'SPEAK\A MUNDO';white-space:pre;position:absolute;right:55px;bottom:38px;font-size:3.2rem;line-height:.78;font-weight:1000;letter-spacing:-.08em;color:rgba(255,255,255,.065);transform:rotate(-6deg);pointer-events:none}
.dp-hero::after{background:radial-gradient(circle,rgba(255,116,48,.55),transparent 62%) !important}
.dp-hero .dp-kicker{color:#ffd4c3 !important}.dp-hero h2{color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.12)}
.dp-hero p{color:#eee9ff !important}.dp-hero-stats span{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.18) !important;color:#fff !important;backdrop-filter:blur(8px)}
.dp-hero-stats span b{color:#fff !important}.dp-hero .dp-back{background:#fff !important;color:#4b159f !important;box-shadow:0 12px 30px rgba(10,5,40,.22)}

/* Cleaner practice bank grouping */
.dp-unique-audio{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#eef7ff,#fff6ef);border:1px solid #dce8fb;border-radius:20px;padding:17px 20px;margin:0 0 22px;box-shadow:0 10px 24px rgba(31,41,55,.05)}
.dp-unique-audio>span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--sm-purple),var(--sm-orange));font-size:1.45rem;box-shadow:0 8px 18px rgba(84,36,185,.2)}
.dp-unique-audio b{font-size:1rem;color:var(--sm-ink)}.dp-unique-audio p{margin:3px 0 0;color:#60708a;line-height:1.45;font-size:.9rem}
.dp-pack-group{margin:0 0 26px}.dp-pack-group-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;padding:0 4px}
.dp-pack-group-head>div{display:flex;align-items:center;gap:11px}.dp-pack-group-head>div>span{width:40px;height:40px;display:grid;place-items:center;background:#fff;border-radius:13px;box-shadow:0 7px 18px rgba(31,41,55,.06)}
.dp-pack-group-head h3{font-size:1.1rem;font-weight:950;color:#202944;margin:0}.dp-pack-group-head p{font-size:.84rem;color:#718096;margin:2px 0 0}.dp-pack-group-head small{background:#f1ecff;color:#5b21b6;padding:6px 10px;border-radius:999px;font-weight:850;white-space:nowrap}
.dp-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px !important}
.dp-pack-grid>button{min-height:164px;padding:18px !important;border:1px solid #e9e9f3 !important;background:linear-gradient(155deg,#fff 0%,#fbfbff 70%,#fff4ee 150%) !important;position:relative;overflow:hidden}
.dp-pack-grid>button::after{content:'';position:absolute;width:100px;height:100px;border-radius:50%;right:-42px;bottom:-55px;background:radial-gradient(circle,rgba(255,90,31,.13),transparent 67%);pointer-events:none}
.dp-pack-grid>button b{font-size:1.03rem;line-height:1.3;color:#17213a}.dp-pack-grid>button p{font-size:.82rem;line-height:1.5;color:#667085}.dp-pack-grid>button small{font-size:.78rem}

/* True bilingual 3D-style vocabulary flashcards */
.dp-flip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1100px}
.dp-flip-card{height:285px;cursor:pointer;perspective:1000px;border-radius:24px;outline:none}.dp-flip-inner{position:relative;width:100%;height:100%;transition:transform .58s cubic-bezier(.2,.72,.2,1);transform-style:preserve-3d}.dp-flip-card.flipped .dp-flip-inner{transform:rotateY(180deg)}
.dp-flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:24px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #e9e7f5;box-shadow:0 15px 34px rgba(50,44,92,.09);overflow:hidden}
.dp-front{background:linear-gradient(155deg,#fff 0%,#f5f0ff 58%,#fff3eb 140%)}.dp-backface{transform:rotateY(180deg);background:linear-gradient(150deg,#2f126c,#5a25ae 60%,#d65326 145%);border-color:transparent;color:#fff}
.dp-card-visual{width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#efe8ff,#fff1e9);font-size:2.35rem;margin:2px auto 13px;box-shadow:inset 0 0 0 1px rgba(91,33,182,.07),0 12px 24px rgba(84,36,185,.08)}
.dp-card-visual.small{width:64px;height:64px;font-size:1.9rem;background:rgba(255,255,255,.13);box-shadow:none}
.dp-card-level{font-size:.68rem;letter-spacing:.1em;font-weight:950;color:#7c3aed;background:#f4f0ff;border-radius:999px;padding:4px 8px}.dp-backface .dp-card-level{color:#ffe1d5;background:rgba(255,255,255,.12)}
.dp-flip-face h3{font-size:1.24rem;font-weight:950;line-height:1.3;margin:12px 0 4px;color:#251a45}.dp-backface h3{color:#fff;font-size:1.18rem}.dp-flip-face>p{font-size:.84rem;color:#77829a;margin:3px 0 auto}.dp-backface>p{color:#e9ddff}.dp-card-spanish{font-weight:800 !important;color:#ffd8c8 !important}
.dp-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:12px}.dp-card-actions button{border:0;border-radius:11px;padding:9px 11px;font-weight:850;cursor:pointer;background:#fff;color:#5120a7;box-shadow:0 6px 15px rgba(31,41,55,.07)}.dp-card-actions button+button{background:linear-gradient(90deg,var(--sm-purple),var(--sm-orange));color:#fff}.dp-backface .dp-card-actions button{background:#fff;color:#4e1f9f}.dp-backface .dp-card-actions button+button{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.2)}
.dp-flip-card.learned .dp-front{box-shadow:inset 0 0 0 2px #86efac,0 15px 34px rgba(50,44,92,.09)}

@media(max-width:930px){.dp-flip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-pack-grid{grid-template-columns:1fr}}
@media(max-width:590px){.dp-flip-grid{grid-template-columns:1fr}.dp-flip-card{height:275px}.dp-unique-audio{align-items:flex-start}.dp-pack-group-head{align-items:flex-start}.dp-pack-group-head p{max-width:240px}.dp-hero::before{display:none}}

/* ===== SpeakMundo Step 13: Spanish for Working Professionals — Weekend Track ===== */
.pro-shell{max-width:1180px;margin:0 auto;padding:4px 4px 54px;color:#1f2937}.pro-hero,.pro-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;border-radius:28px;padding:30px;background:linear-gradient(135deg,#3b0764 0%,#6d28d9 48%,#ea580c 140%);color:white;box-shadow:0 24px 55px rgba(76,29,149,.2);position:relative;overflow:hidden}.pro-hero:after,.pro-head:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;bottom:-120px;background:rgba(255,255,255,.1)}.pro-hero>div,.pro-head>div{position:relative;z-index:1}.pro-kicker{font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#fed7aa}.pro-hero h2,.pro-head h2{font-size:2.5rem;line-height:1.08;font-weight:900;margin:.45rem 0 .7rem}.pro-hero p,.pro-head p{max-width:780px;color:#ede9fe;font-size:1.04rem;line-height:1.6}.pro-hero>button,.pro-head>button{position:relative;z-index:2;border:0;background:#fff;color:#5b21b6;padding:11px 15px;border-radius:13px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(0,0,0,.12);white-space:nowrap}.pro-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.pro-badges span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:8px 10px;border-radius:999px;font-size:.82rem;font-weight:800}.pro-progress-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;margin:16px 0;border:1px solid #eee7fb;border-radius:20px;padding:16px 18px;box-shadow:0 10px 30px rgba(31,41,55,.06)}.pro-progress-card>div:first-child b{font-size:1.35rem;color:#5b21b6}.pro-progress-card>div:first-child span{display:block;color:#64748b;font-size:.78rem}.pro-progress-card>strong{color:#ea580c}.pro-bar{height:12px;background:#f1eff9;border-radius:999px;overflow:hidden}.pro-bar i{display:block;height:100%;background:linear-gradient(90deg,#6d28d9,#8b5cf6,#f97316);border-radius:999px}.pro-route-note{display:flex;gap:14px;background:linear-gradient(135deg,#fff,#faf7ff);border:1px solid #ede9fe;border-radius:20px;padding:17px 18px;margin:16px 0;box-shadow:0 8px 22px rgba(31,41,55,.04)}.pro-route-note>span{font-size:1.8rem}.pro-route-note b{font-size:1rem}.pro-route-note p{margin:4px 0 0;color:#64748b;line-height:1.55}.pro-action-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 26px}.pro-action-row button,.pro-primary-wide{border:0;border-radius:13px;padding:12px 16px;font-weight:900;cursor:pointer;background:linear-gradient(90deg,#5b21b6,#7c3aed);color:white;box-shadow:0 10px 20px rgba(91,33,182,.16)}.pro-action-row button:nth-child(2){background:linear-gradient(90deg,#ea580c,#f97316)}.pro-action-row button:nth-child(3){background:#fff;color:#4c1d95;border:1px solid #ddd6fe}.pro-phase{margin:28px 0 12px}.pro-phase>div{border-left:7px solid var(--phase);background:#fff;border-radius:0 18px 18px 0;padding:14px 17px;box-shadow:0 8px 20px rgba(31,41,55,.04)}.pro-phase small{color:#64748b;font-weight:900;letter-spacing:.08em}.pro-phase h3{margin:2px 0;font-size:1.35rem;font-weight:900}.pro-phase p{color:#64748b;margin:0}.pro-week-card{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:stretch;background:#fff;border:1px solid #ecebf3;border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 9px 24px rgba(31,41,55,.05)}.pro-week-num{display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#ede9fe,#fff7ed);border-radius:16px}.pro-week-num span{font-size:.65rem;font-weight:900;letter-spacing:.12em;color:#7c3aed}.pro-week-num b{font-size:1.8rem;color:#3b0764}.pro-week-lessons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pro-mini{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid #e8e7f1;background:#fbfbfe;border-radius:16px;padding:14px;cursor:pointer;transition:.2s}.pro-mini:hover{transform:translateY(-2px);background:#fff;box-shadow:0 12px 25px rgba(31,41,55,.08)}.pro-mini.done{border-color:#a7f3d0;background:#f0fdf4}.pro-mini div span{font-size:.7rem;font-weight:900;color:#7c3aed}.pro-mini b{display:block;margin:4px 0;font-size:.98rem}.pro-mini small{display:block;color:#64748b;line-height:1.4}.pro-mini em{font-style:normal;font-size:1.3rem;color:#ea580c}.pro-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.pro-method-grid article{background:#fff;border:1px solid #eceaf5;border-radius:22px;padding:22px;box-shadow:0 10px 24px rgba(31,41,55,.05)}.pro-method-grid span{font-weight:900;color:#6d28d9}.pro-method-grid h3{font-size:1.35rem;font-weight:900;margin:5px 0}.pro-method-grid p{color:#64748b;line-height:1.55}.pro-structure-bank{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px}.pro-structure-bank article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #ebeaf4;border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(31,41,55,.04)}.pro-structure-bank article>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ede9fe;color:#5b21b6;font-weight:900}.pro-structure-bank b{display:block;color:#2e1065}.pro-structure-bank small{display:block;color:#64748b;margin-top:3px}.pro-structure-bank button{border:0;background:#fff7ed;color:#c2410c;border-radius:10px;padding:8px;cursor:pointer}.pro-lesson-shell .pro-head{background:linear-gradient(135deg,#2e1065,#6d28d9 58%,#f97316 150%)}.pro-stepper{display:flex;gap:8px;overflow-x:auto;margin:16px 0;padding:8px;background:#fff;border:1px solid #ecebf4;border-radius:18px;box-shadow:0 9px 20px rgba(31,41,55,.04)}.pro-stepper button{min-width:125px;border:0;background:#f8fafc;border-radius:13px;padding:10px 11px;cursor:pointer;color:#64748b;text-align:left}.pro-stepper button span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e2e8f0;font-size:.72rem;font-weight:900;margin-right:5px}.pro-stepper button b{font-size:.78rem}.pro-stepper button.active{background:linear-gradient(90deg,#5b21b6,#7c3aed);color:white}.pro-stepper button.active span{background:rgba(255,255,255,.2);color:white}.pro-focus-card{background:linear-gradient(135deg,#fff,#faf5ff 60%,#fff7ed);border:1px solid #eadff8;border-radius:24px;padding:30px;box-shadow:0 15px 30px rgba(76,29,149,.07);text-align:center}.pro-focus-card>span{font-size:.72rem;font-weight:900;letter-spacing:.1em;color:#7c3aed}.pro-focus-card h3{font-size:1.75rem;font-weight:900;margin:10px auto 18px;max-width:800px}.pro-success{max-width:750px;margin:auto;background:#fff;border:1px solid #e8e1f3;border-radius:16px;padding:15px}.pro-success p{margin:4px 0;color:#475569}.pro-flow{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.pro-flow i{font-style:normal;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:7px 10px;font-weight:850}.pro-review{margin:16px 0;background:#fff;border:1px solid #fed7aa;border-radius:20px;padding:17px}.pro-review b{color:#9a3412}.pro-review p{color:#64748b;margin:4px 0}.pro-review div{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pro-review span{background:#fff7ed;border-radius:999px;padding:7px 9px;font-size:.82rem}.pro-review button{border:0;background:#ea580c;color:#fff;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}.pro-section-title{display:flex;gap:13px;align-items:center;margin:20px 0 14px}.pro-section-title>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#ede9fe,#fff7ed);font-size:1.4rem}.pro-section-title h3{font-size:1.45rem;font-weight:900;margin:0}.pro-section-title p{color:#64748b;margin:3px 0 0}.pro-sound-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.pro-sound-grid article{background:#fff;border:1px solid #ecebf5;border-radius:20px;padding:18px;text-align:center;box-shadow:0 10px 23px rgba(31,41,55,.05)}.pro-sound-grid article>div{font-size:2rem;font-weight:900;color:#5b21b6}.pro-sound-grid article>b{display:block;color:#ea580c;margin:4px}.pro-sound-grid p{color:#64748b}.pro-sound-grid button,.pro-phrase-grid button,.pro-pattern-grid button{border:0;background:#ede9fe;color:#5b21b6;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}.pro-phrase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.pro-phrase-grid article{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #ebeaf4;border-radius:18px;padding:14px;box-shadow:0 9px 22px rgba(31,41,55,.04)}.pro-phrase-grid article>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff7ed;color:#c2410c;font-weight:900}.pro-phrase-grid b{display:block;font-size:1rem;color:#2e1065}.pro-phrase-grid small{display:block;color:#64748b;margin-top:3px}.pro-tip{margin:15px 0;background:#f5f3ff;border-left:5px solid #7c3aed;border-radius:12px;padding:12px 14px;color:#5b21b6;font-weight:750}.pro-pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.pro-pattern-grid article{background:linear-gradient(145deg,#fff,#fbf8ff);border:1px solid #e9e5f7;border-radius:20px;padding:18px}.pro-pattern-grid small{display:block;color:#ea580c;font-weight:900;letter-spacing:.08em}.pro-pattern-grid b{display:block;font-size:1.1rem;color:#3b0764;margin:7px 0 14px}.pro-build-challenge{margin:15px 0;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:16px}.pro-build-challenge b{color:#9a3412}.pro-build-challenge p{margin:3px 0;color:#7c2d12}.pro-grammar{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;background:#fff;border:1px solid #e8e5f3;border-radius:22px;padding:22px;box-shadow:0 12px 28px rgba(31,41,55,.05)}.pro-grammar span{font-size:.72rem;font-weight:900;color:#7c3aed}.pro-grammar h3{font-size:1.35rem;font-weight:900;margin:5px 0}.pro-grammar p{color:#475569;line-height:1.6}.pro-grammar-examples{display:grid;gap:8px}.pro-grammar-examples p{background:#faf7ff;border-radius:13px;padding:11px;margin:0}.pro-grammar-examples b,.pro-grammar-examples small{display:block}.pro-grammar-examples small{color:#64748b;margin-top:3px}.pro-audio-tools{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}.pro-audio-tools button,.pro-speak-tools button{border:0;background:#ecfeff;color:#0f766e;border-radius:11px;padding:10px 12px;font-weight:850;cursor:pointer}.pro-dialogue{display:grid;gap:10px}.pro-dialogue article{display:grid;grid-template-columns:1fr auto;gap:12px;background:#fff;border:1px solid #e8e8f1;border-radius:18px;padding:15px}.pro-dialogue article>div>b{color:#6d28d9}.pro-dialogue p{margin:4px 0;font-size:1.02rem}.pro-dialogue details{background:#f8fafc;padding:8px 10px;border-radius:10px}.pro-dialogue summary{cursor:pointer;color:#64748b;font-weight:800}.pro-dialogue article>button{align-self:start;border:0;background:#fff7ed;color:#c2410c;border-radius:10px;padding:8px;cursor:pointer}.pro-practice{display:grid;gap:12px}.pro-practice>article{background:#fff;border:1px solid #e8e8f1;border-radius:20px;padding:18px;box-shadow:0 9px 22px rgba(31,41,55,.04)}.pro-practice>article>small{display:inline-block;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:4px 8px;font-weight:900}.pro-practice h4{font-size:1.05rem;font-weight:900;margin:10px 0}.pro-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pro-options label{display:flex;gap:9px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:13px;padding:11px;cursor:pointer}.pro-options label:has(input:checked){background:#f5f3ff;border-color:#8b5cf6}.pro-type{width:100%;border:2px solid #e2e8f0;border-radius:13px;padding:12px;outline:none}.pro-type:focus{border-color:#8b5cf6}.pro-builder-answer{min-height:50px;border:2px dashed #c4b5fd;border-radius:13px;padding:12px;background:#faf5ff;margin-bottom:10px;font-weight:800}.pro-builder-tokens{display:flex;gap:7px;flex-wrap:wrap}.pro-builder-tokens button{border:1px solid #ddd6fe;background:#fff;color:#4c1d95;border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer}.pro-builder-tokens button:disabled{opacity:.35}.pro-clear{margin-top:9px;border:0;background:#f1f5f9;border-radius:9px;padding:7px 9px;cursor:pointer}.pro-qfb{margin-top:10px;display:flex;flex-direction:column;gap:3px}.pro-qfb .good{color:#15803d}.pro-qfb .bad{color:#b91c1c}.pro-qfb span{color:#64748b}.pro-score{display:flex;gap:12px;align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;padding:12px 14px;margin-top:12px}.pro-score b{font-size:1.35rem;color:#047857}.pro-score span{color:#475569}.pro-speaking-card{background:linear-gradient(145deg,#fff,#faf5ff);border:1px solid #e9ddfb;border-radius:24px;padding:22px;box-shadow:0 15px 32px rgba(76,29,149,.07)}.pro-speaking-card>span{font-size:.72rem;font-weight:900;color:#ea580c;letter-spacing:.08em}.pro-speaking-card h3{font-size:1.45rem;font-weight:900;margin:5px 0}.pro-speaking-card>p{color:#475569;line-height:1.55}.pro-speak-tools{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.pro-timer{font-size:2.4rem;font-weight:900;font-variant-numeric:tabular-nums;color:#5b21b6;margin:8px 0}.pro-speaking-card textarea{width:100%;min-height:120px;border:2px solid #e2e8f0;border-radius:15px;padding:13px;outline:none}.pro-speaking-card textarea:focus{border-color:#8b5cf6}.pro-model{margin-top:12px;background:#fff;border:1px solid #ddd6fe;border-radius:15px;padding:12px}.pro-model summary{cursor:pointer;font-weight:900;color:#5b21b6}.pro-model p{line-height:1.6}.pro-model button{border:0;background:#ede9fe;color:#5b21b6;border-radius:10px;padding:8px 10px;cursor:pointer}.pro-selfcheck{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.pro-selfcheck label{background:#fff;border:1px solid #e8e8f1;border-radius:12px;padding:10px}.pro-score-note{color:#64748b;margin:8px 0}.pro-complete{width:100%;border:0;border-radius:14px;padding:13px 16px;background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316);color:#fff;font-weight:900;cursor:pointer}.pro-nav-actions,.pro-lesson-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.pro-nav-actions button,.pro-lesson-bottom button{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:10px 13px;font-weight:850;cursor:pointer}.pro-nav-actions button.primary{background:#5b21b6;color:#fff;border-color:#5b21b6}
@media(max-width:800px){.pro-hero,.pro-head{flex-direction:column}.pro-hero h2,.pro-head h2{font-size:2rem}.pro-week-card{grid-template-columns:1fr}.pro-week-num{display:flex;justify-content:center;gap:8px;padding:8px}.pro-week-lessons,.pro-method-grid,.pro-grammar{grid-template-columns:1fr}.pro-options,.pro-selfcheck{grid-template-columns:1fr}.pro-progress-card{grid-template-columns:1fr}.pro-progress-card>strong{justify-self:end}.pro-stepper button{min-width:112px}}
@media(max-width:500px){.pro-shell{padding-left:0;padding-right:0}.pro-hero,.pro-head{border-radius:22px;padding:22px}.pro-week-lessons{grid-template-columns:1fr}.pro-focus-card{padding:20px}.pro-phrase-grid,.pro-pattern-grid,.pro-sound-grid{grid-template-columns:1fr}}
.pro-action-row button:nth-child(3){background:linear-gradient(90deg,#0ea5e9,#06b6d4);color:#fff;border:0}.pro-action-row button:nth-child(4){background:#fff;color:#4c1d95;border:1px solid #ddd6fe}.pro-vocab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.pro-vocab-grid article{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;background:linear-gradient(145deg,#fff,#faf8ff);border:1px solid #ebe8f5;border-radius:18px;padding:14px;box-shadow:0 9px 21px rgba(31,41,55,.04)}.pro-vicon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ede9fe,#fff7ed);font-size:1.25rem}.pro-vocab-grid b{display:block;color:#2e1065}.pro-vocab-grid small{display:block;color:#64748b;margin-top:3px}.pro-vocab-grid button{border:0;background:#fff7ed;color:#c2410c;border-radius:10px;padding:8px;cursor:pointer}.pro-grammar-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:18px}.pro-grammar-map>article{display:grid;grid-template-columns:46px 1fr;gap:12px;background:#fff;border:1px solid #ebe8f5;border-radius:22px;padding:18px;box-shadow:0 10px 25px rgba(31,41,55,.05)}.pro-gnum{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#6d28d9,#f97316);color:#fff;font-weight:900}.pro-grammar-map small{color:#7c3aed;font-size:.68rem;font-weight:900;letter-spacing:.08em}.pro-grammar-map h3{font-size:1.15rem;font-weight:900;margin:3px 0}.pro-grammar-map>article>div:nth-child(2)>b{display:block;color:#c2410c;margin-bottom:7px}.pro-grammar-map p{color:#64748b;line-height:1.5;margin:5px 0 10px}.pro-gex{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;background:#fafafa;border-radius:11px;padding:9px;margin-top:6px}.pro-gex span{font-weight:850;color:#312e81}.pro-gex em{font-style:normal;color:#64748b;font-size:.86rem}.pro-gex button{border:0;background:#ede9fe;color:#5b21b6;border-radius:8px;padding:6px;cursor:pointer}@media(max-width:650px){.pro-grammar-map{grid-template-columns:1fr}.pro-gex{grid-template-columns:1fr auto}.pro-gex em{grid-column:1/2}.pro-gex button{grid-row:1/3;grid-column:2}}


/* ===== SpeakMundo Step 14: Expanded clean professional-course layout ===== */
.pro-mini i{display:block;margin-top:7px;font-style:normal;font-size:.68rem;color:#a78bfa;letter-spacing:.05em}
.pro-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.pro-lesson-layout>main{min-width:0}
.pro-side{position:sticky;top:92px;display:grid;gap:12px}
.pro-scene{min-height:108px;border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px;background:linear-gradient(145deg,#3b0764,#6d28d9 58%,#f97316 150%);color:#fff;box-shadow:0 15px 34px rgba(76,29,149,.16);overflow:hidden;position:relative}
.pro-scene:after{content:'';position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12);right:-30px;bottom:-50px}.pro-scene>span{font-size:2.3rem}.pro-scene div{display:grid;position:relative;z-index:1}.pro-scene small{font-size:.68rem;letter-spacing:.12em;color:#fed7aa;font-weight:900}.pro-scene b{font-size:1rem;margin:3px 0}.pro-scene em{font-style:normal;color:#ede9fe;font-size:.8rem}
.pro-side-grammar,.pro-side-goal{background:#fff;border:1px solid #ece9f6;border-radius:20px;padding:17px;box-shadow:0 10px 24px rgba(31,41,55,.05)}
.pro-side-grammar>small{font-size:.68rem;font-weight:900;letter-spacing:.1em;color:#7c3aed}.pro-side-grammar h3{font-size:1.05rem;font-weight:900;margin:5px 0}.pro-side-grammar>p{font-size:.86rem;color:#475569;line-height:1.55}.pro-side-grammar>div{background:#faf7ff;border-radius:12px;padding:9px 10px;margin:8px 0}.pro-side-grammar>div b,.pro-side-grammar>div span{display:block}.pro-side-grammar>div b{font-size:.86rem;color:#3b0764}.pro-side-grammar>div span{font-size:.75rem;color:#64748b;margin-top:2px}.pro-side-grammar hr{border:0;border-top:1px solid #eee9f6;margin:12px 0}.pro-side-grammar strong{font-size:.78rem;color:#ea580c}
.pro-side-goal{background:linear-gradient(145deg,#fff7ed,#fff)}.pro-side-goal b{color:#9a3412}.pro-side-goal p{font-size:.84rem;color:#7c2d12;line-height:1.5;margin:5px 0 0}
.pro-focus-card{position:relative;overflow:hidden}.pro-focus-visual{width:96px;height:96px;border-radius:28px;margin:0 auto 12px;display:grid;place-items:center;background:linear-gradient(145deg,#ede9fe,#fff7ed);box-shadow:0 14px 24px rgba(76,29,149,.08)}.pro-focus-visual span{font-size:3rem}
.pro-subhead{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#6d28d9;font-weight:900;margin:18px 0 10px}.pro-subhead.orange{color:#ea580c}
.pro-daily-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:11px}.pro-daily-grid article{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:linear-gradient(145deg,#fff,#fffaf6);border:1px solid #f3e3d6;border-radius:17px;padding:13px 14px}.pro-daily-grid b,.pro-daily-grid small{display:block}.pro-daily-grid b{color:#2e1065}.pro-daily-grid small{color:#64748b;margin-top:3px}.pro-daily-grid button{border:0;background:#fff7ed;color:#c2410c;border-radius:10px;padding:8px 9px;cursor:pointer}
.pro-mini-scenarios{margin:16px 0;padding:16px;background:linear-gradient(145deg,#f5f3ff,#fff);border:1px solid #e8defa;border-radius:19px}.pro-mini-scenarios h4{font-weight:900;color:#4c1d95;margin:0 0 10px}.pro-mini-scenarios details{background:#fff;border:1px solid #ece8f7;border-radius:13px;padding:10px 12px;margin:8px 0}.pro-mini-scenarios summary{cursor:pointer;font-weight:800;color:#334155;line-height:1.45}.pro-mini-scenarios p{color:#475569;line-height:1.55}.pro-mini-scenarios button{border:0;background:#ede9fe;color:#5b21b6;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer}
.pro-practice{counter-reset:item}.pro-practice>article{padding:20px}.pro-practice h4{line-height:1.45}.pro-vocab-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pro-pattern-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.pro-pattern-grid article{min-height:126px;display:flex;flex-direction:column}.pro-pattern-grid article button{margin-top:auto;align-self:flex-start}
.pro-grammar-examples p{border:1px solid #eee8f8}.pro-dialogue article{box-shadow:0 7px 17px rgba(31,41,55,.035)}
@media(max-width:980px){.pro-lesson-layout{grid-template-columns:1fr}.pro-side{position:static;grid-template-columns:1fr 1fr}.pro-scene{grid-column:1/-1}}
@media(max-width:650px){.pro-side{grid-template-columns:1fr}.pro-scene{grid-column:auto}.pro-daily-grid{grid-template-columns:1fr}.pro-stepper button{min-width:105px}.pro-side-grammar{order:1}.pro-side-goal{order:2}}


/* ===== Step 15 Pattern explainer cards ===== */
.pro-structure-bank-rich,.pro-pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.pro-pattern-card{background:linear-gradient(180deg,#ffffff 0%,#fcf8ff 100%);border:1px solid #e8dbff;border-radius:24px;padding:20px;box-shadow:0 14px 32px rgba(60,72,88,.08);display:flex;flex-direction:column;gap:14px}
.pro-pattern-top small{display:block;font-weight:800;letter-spacing:.14em;color:#f97316;margin-bottom:10px}
.pro-pattern-top b{display:block;font-size:1.1rem;line-height:1.4;color:#4c1d95;margin-bottom:8px}
.pro-pattern-top em{display:block;font-style:normal;color:#64748b;line-height:1.5}
.pro-pattern-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;color:#334155;line-height:1.55}
.pro-pattern-actions{display:flex;flex-direction:column;gap:12px}
.pro-pattern-actions>button{align-self:flex-start;background:#ede9fe;color:#5b21b6;border:none;border-radius:14px;padding:12px 14px;font-weight:800;cursor:pointer}
.pro-pattern-tip{border:1px solid #ece7ff;background:#fff;border-radius:18px;padding:0}
.pro-pattern-tip summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:800;color:#5b21b6;display:flex;align-items:center;justify-content:space-between}
.pro-pattern-tip summary::-webkit-details-marker{display:none}
.pro-pattern-tip summary::after{content:'+';font-size:1.1rem;color:#f97316}
.pro-pattern-tip[open] summary::after{content:'−'}
.pro-tip-panel{padding:0 14px 14px}
.pro-tip-panel p{margin:0 0 12px;color:#334155;line-height:1.6}
.pro-tip-examples{display:flex;flex-direction:column;gap:10px}
.pro-tip-ex{background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);border:1px solid #fed7aa;border-radius:16px;padding:12px;display:grid;grid-template-columns:1fr;gap:4px}
.pro-tip-ex b{color:#1e293b;line-height:1.5}
.pro-tip-ex span{color:#64748b;line-height:1.5}
.pro-tip-ex button{justify-self:start;margin-top:6px;background:#fff;border:1px solid #fdba74;border-radius:12px;padding:8px 11px;font-weight:700;color:#c2410c;cursor:pointer}
@media (max-width:780px){.pro-structure-bank-rich,.pro-pattern-grid{grid-template-columns:1fr}}


/* Step 16 - visible rich structure cards in lesson + structure bank */
.pro-pattern-grid.pro-pattern-grid-rich > .pro-pattern-card,
.pro-structure-bank.pro-structure-bank-rich > .pro-pattern-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  min-height:0 !important;
  padding:20px !important;
}
.pro-pattern-grid-rich .pro-pattern-top b,
.pro-structure-bank-rich .pro-pattern-top b{font-size:1.12rem !important;color:#4c1d95 !important}
.pro-pattern-grid-rich .pro-pattern-top em,
.pro-structure-bank-rich .pro-pattern-top em{display:block !important;color:#64748b !important;font-size:.9rem !important}
.pro-pattern-grid-rich .pro-pattern-meta,
.pro-structure-bank-rich .pro-pattern-meta{display:block !important}
.pro-pattern-grid-rich details,
.pro-structure-bank-rich details{display:block !important;width:100% !important}
.pro-pattern-grid-rich .pro-pattern-actions,
.pro-structure-bank-rich .pro-pattern-actions{display:flex !important;flex-direction:column !important;align-items:stretch !important}
.pro-pattern-grid-rich .pro-pattern-actions>button,
.pro-structure-bank-rich .pro-pattern-actions>button{width:max-content !important}


/* ===== Step 17 A0→C2 100-session Mastery Path ===== */
.pro-pattern-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pro-pattern-labels small{margin:0!important}.pro-pattern-labels span{background:linear-gradient(90deg,#5b21b6,#7c3aed);color:#fff;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900;letter-spacing:.05em}
.pro-level-roadmap{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e8e8f4;border-radius:20px;padding:14px;margin:14px 0 20px;box-shadow:0 9px 22px rgba(15,23,42,.05)}.pro-level-roadmap span{background:#f3e8ff;color:#5b21b6;border-radius:999px;padding:8px 12px;font-weight:900}.pro-level-roadmap i{font-style:normal;color:#f97316;font-weight:900}
.pro-structure-levels{display:grid;gap:16px}.pro-structure-levels>details{background:rgba(255,255,255,.78);border:1px solid #e8e8f5;border-radius:22px;overflow:hidden}.pro-structure-levels>details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:linear-gradient(90deg,#fff,#faf7ff,#fff7ed)}.pro-structure-levels>details>summary::-webkit-details-marker{display:none}.pro-structure-levels>details>summary b{font-size:1.15rem;color:#3b0764}.pro-structure-levels>details>summary span{color:#64748b;font-weight:800}.pro-structure-levels .pro-structure-bank{padding:18px}
.pro-phase>div{box-shadow:0 12px 26px rgba(15,23,42,.06)}
.pro-mini i{font-size:.72rem;color:#7c3aed;font-style:normal;margin-top:6px}
@media(max-width:700px){.pro-level-roadmap i{display:none}.pro-structure-levels .pro-structure-bank{padding:12px}}


/* Step 18 — verified structure-tip content */
.pro-pattern-tip[open]{background:linear-gradient(180deg,#fff,#fffaf5);border-color:#fdba74}
.pro-pattern-tip[open] summary{color:#9a3412}
.pro-tip-panel>p::before{content:'Quick rule: ';font-weight:900;color:#7c3aed}
.pro-tip-examples::before{content:'Examples';font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#f97316;margin:2px 0 0}


/* ===== Step 19 · 1000+ Verb Conjugation Mastery ===== */
.vm-shell{max-width:1240px;margin:0 auto;padding:8px 8px 54px;color:#172033}.vm-hero,.vm-section-head,.vm-verb-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(135deg,#fff 0%,#fff8f2 52%,#f6f1ff 100%);border:1px solid #f0e6dc;border-top:6px solid #f97316;border-radius:26px;padding:28px;box-shadow:0 18px 45px rgba(31,41,55,.08);margin-bottom:18px}.vm-hero h2,.vm-section-head h2,.vm-verb-hero h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1.06;margin:7px 0 12px;color:#172033}.vm-hero p,.vm-section-head p,.vm-verb-hero p{color:#64748b;line-height:1.65;max-width:850px}.vm-kicker{font-size:.76rem;font-weight:900;letter-spacing:.13em;color:#7c3aed}.vm-back,.vm-section-head>button,.vm-verb-actions button{border:0;background:#fff;color:#5b21b6;padding:11px 14px;border-radius:13px;font-weight:850;box-shadow:0 8px 20px #0000000d;cursor:pointer;white-space:nowrap}.vm-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.vm-stats span,.vm-badges span{background:#fff;border:1px solid #eee7ff;border-radius:999px;padding:8px 11px;font-size:.82rem;color:#475569}.vm-stats b{color:#5b21b6}.vm-guide{display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,#2e1065,#5b21b6 65%,#c2410c);color:#fff;padding:16px 18px;border-radius:18px;margin-bottom:17px}.vm-guide>span{font-size:1.6rem}.vm-guide>div{flex:1}.vm-guide p{color:#ede9fe;margin:3px 0;font-size:.9rem}.vm-guide button{border:0;background:#fff;color:#5b21b6;border-radius:11px;padding:9px 11px;font-weight:800;cursor:pointer}.vm-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:14px;margin-bottom:10px}.vm-search{flex:1;min-width:270px;display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:14px;padding:0 12px}.vm-search input{width:100%;border:0;outline:0;background:transparent;padding:13px 3px;font-size:1rem}.vm-filters{display:flex;gap:7px;flex-wrap:wrap}.vm-filters button,.vm-letters button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 11px;font-weight:800;color:#475569;cursor:pointer}.vm-filters button.active,.vm-letters button.active{background:#5b21b6;color:#fff;border-color:#5b21b6}.vm-letters{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 16px}.vm-letters button{min-width:34px;padding:7px}.vm-result-head{display:flex;justify-content:space-between;color:#64748b;font-size:.9rem;margin:10px 2px}.vm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:13px}.vm-card{border:1px solid #e7eaf2;background:linear-gradient(180deg,#fff,#fcfcff);border-radius:19px;padding:17px;text-align:left;cursor:pointer;box-shadow:0 7px 22px #00000008;transition:.2s}.vm-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #00000010;border-color:#c4b5fd}.vm-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.vm-inf{font-size:1.18rem;font-weight:900;color:#4c1d95}.vm-card i{font-size:.68rem;font-style:normal;font-weight:850;border-radius:999px;padding:4px 7px}.vm-card i.regular{background:#ecfdf5;color:#047857}.vm-card i.irregular{background:#fff7ed;color:#c2410c}.vm-card i.reflexive{background:#eff6ff;color:#1d4ed8}.vm-card>b{display:block;margin-top:9px;color:#334155}.vm-card p{margin:5px 0 12px;color:#64748b}.vm-card em{font-style:normal;color:#7c3aed;font-weight:800;font-size:.82rem}.vm-pages{display:flex;justify-content:center;align-items:center;gap:14px;margin:22px 0}.vm-pages button{border:0;background:#5b21b6;color:#fff;border-radius:11px;padding:10px 14px;font-weight:800;cursor:pointer}.vm-pages button:disabled{opacity:.35}.vm-classic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.vm-classic-grid button{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid #e6eaf1;background:#fff;border-radius:16px;padding:14px;cursor:pointer}.vm-classic-grid span{width:36px;height:36px;border-radius:10px;background:#fff7ed;color:#c2410c;display:grid;place-items:center;font-weight:900}.vm-classic-grid b{color:#334155}.vm-classic-grid em{font-style:normal;color:#7c3aed}.vm-loading{text-align:center;background:#fff;border:1px solid #e8edf4;border-radius:22px;padding:55px}.vm-spinner{width:34px;height:34px;border:4px solid #ede9fe;border-top-color:#7c3aed;border-radius:50%;display:inline-block;animation:vmspin .7s linear infinite}@keyframes vmspin{to{transform:rotate(360deg)}}.vm-verb-actions{display:flex;gap:8px;flex-wrap:wrap}.vm-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.vm-hindi-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;padding:13px 15px;color:#7c2d12;margin-bottom:15px}.vm-nonpersonal{background:#fff;border:1px solid #e7ebf2;border-radius:20px;padding:18px;margin-bottom:16px}.vm-nonpersonal h3{font-weight:900;margin-bottom:12px}.vm-nonpersonal>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vm-nonpersonal>div>div{background:#f8fafc;border-radius:14px;padding:13px;display:grid;gap:5px}.vm-nonpersonal small{font-weight:800;color:#7c3aed}.vm-nonpersonal button,.vm-audio{border:0;background:#ede9fe;color:#5b21b6;border-radius:8px;padding:5px 7px;cursor:pointer}.vm-mood{margin:20px 0}.vm-mood-title{display:flex;gap:11px;align-items:center;background:linear-gradient(90deg,#f8fafc,#fff);border-left:5px solid #7c3aed;border-radius:14px;padding:14px 16px;margin-bottom:12px}.vm-mood-title>span{font-size:1.4rem}.vm-mood-title h3{font-size:1.25rem;font-weight:900}.vm-mood-title p{color:#64748b;font-size:.88rem}.vm-tense{background:#fff;border:1px solid #e6ebf2;border-radius:20px;margin:12px 0;overflow:hidden;box-shadow:0 7px 20px #00000006}.vm-tense-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:linear-gradient(90deg,#faf7ff,#fff7ed)}.vm-tense-head h4{font-size:1.05rem;font-weight:900;color:#3b0764}.vm-tense-head span{font-size:.82rem;color:#64748b}.vm-tense-head i{font-style:normal;font-size:.7rem;background:#fff7ed;color:#c2410c;border-radius:999px;padding:5px 8px;font-weight:900}.vm-table-wrap{overflow-x:auto}.vm-tense table{width:100%;border-collapse:collapse}.vm-tense th,.vm-tense td{padding:11px 14px;border-top:1px solid #eef2f7;text-align:left;vertical-align:top}.vm-tense th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#fcfdff}.vm-tense td:nth-child(1){white-space:nowrap;color:#475569;font-weight:700}.vm-tense td:nth-child(2){color:#172033;min-width:180px}.vm-tense td:nth-child(3){color:#475569}.vm-footer-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:15px;padding:14px;color:#475569;margin-top:20px}
@media(max-width:760px){.vm-hero,.vm-section-head,.vm-verb-hero,.vm-guide{flex-direction:column}.vm-toolbar{align-items:stretch}.vm-nonpersonal>div{grid-template-columns:1fr}.vm-tense th,.vm-tense td{padding:9px 10px}.vm-grid{grid-template-columns:1fr}}

.vm-offline-warning{display:flex;gap:14px;align-items:flex-start;background:#fff7ed;border:1px solid #fdba74;border-radius:20px;padding:22px;color:#7c2d12}.vm-offline-warning>span{font-size:2rem}.vm-offline-warning h3{font-weight:900;font-size:1.1rem}.vm-offline-warning p{margin:7px 0 12px;line-height:1.6}.vm-offline-warning button{border:0;background:#c2410c;color:#fff;border-radius:11px;padding:10px 13px;font-weight:850;cursor:pointer}

/* ===== Step 21 bilingual conjugation tables ===== */
.vm-four-col{min-width:980px}
.vm-four-col th:nth-child(1),.vm-four-col td:nth-child(1){min-width:185px}
.vm-four-col th:nth-child(2),.vm-four-col td:nth-child(2){min-width:220px}
.vm-four-col th:nth-child(3),.vm-four-col td:nth-child(3){min-width:285px;color:#334155}
.vm-four-col th:nth-child(4),.vm-four-col td:nth-child(4){min-width:285px;color:#475569}
.vm-nonpersonal>div.vm-table-wrap{display:block}
.vm-nonpersonal-table{width:100%;border-collapse:collapse}
.vm-nonpersonal-table th,.vm-nonpersonal-table td{padding:11px 14px;border-top:1px solid #eef2f7;text-align:left;vertical-align:top}
.vm-nonpersonal-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#fcfdff}
@media(max-width:760px){.vm-four-col{min-width:900px}}


/* ===== Step 22 Global SpeakMundo Theme Refresh ===== */
:root{
  --sm-purple:#5b21b6;
  --sm-purple-2:#7c3aed;
  --sm-orange:#f97316;
  --sm-navy:#0f172a;
  --sm-soft:#f8f7ff;
  --sm-border:#e9ddff;
}
body.speakmundo-theme{
  font-family:'Nunito',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.14), transparent 28%),
    radial-gradient(circle at bottom right, rgba(249,115,22,.16), transparent 26%),
    linear-gradient(180deg,#f7f8fc 0%, #ffffff 100%);
  min-height:100vh;
}
body.speakmundo-theme::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url('../assets/speakmundo-logo.png');
  background-repeat:no-repeat;
  background-size:340px auto;
  background-position:right 38px bottom 28px;
  opacity:.045;
  filter:grayscale(1) brightness(1.1);
  z-index:0;
}
.sm-brand-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(91,33,182,.08);
  box-shadow:0 10px 35px rgba(15,23,42,.06);
}
.sm-brand-shell{position:relative}
.sm-brand-shell::after{
  content:'';
  position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:999px;
  background:linear-gradient(90deg,var(--sm-purple),var(--sm-purple-2),var(--sm-orange));
  opacity:.95;
}
.sm-brand-left{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:240px}
.sm-brand-logo{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(91,33,182,.16))}
.sm-brand-copy{display:flex;flex-direction:column;line-height:1.05}
.sm-brand-name{font-size:1.55rem;font-weight:900;color:var(--sm-navy)}
.sm-brand-name span{color:var(--sm-navy)}
.sm-brand-name strong{color:var(--sm-orange);font-weight:900}
.sm-brand-copy small{margin-top:3px;color:#5b6475;font-weight:700}
.sm-brand-center{text-align:center;flex:1;min-width:0}
.sm-brand-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);border:1px solid #e9ddff;color:var(--sm-purple);font-size:.78rem;font-weight:900;letter-spacing:.04em;margin-bottom:8px}
.sm-brand-center h1{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--sm-navy);margin:0}
.sm-brand-nav{min-width:120px;display:flex;justify-content:flex-end}
.sm-home-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:14px;background:linear-gradient(90deg,var(--sm-purple),var(--sm-orange));color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 24px rgba(91,33,182,.18)}
.sm-home-link:hover{transform:translateY(-1px)}
.sm-main-shell{position:relative;z-index:1}
#home,#level-detail{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.72) 0%, rgba(255,255,255,.94) 100%);
  border:1px solid rgba(233,221,255,.75);
  border-radius:32px;
  padding:28px;
  box-shadow:0 20px 55px rgba(15,23,42,.05);
  overflow:hidden;
}
#home::before,#level-detail::before{
  content:'';
  position:absolute;
  inset:auto -30px -55px auto;
  width:310px;height:310px;
  background-image:url('../assets/speakmundo-logo.png');
  background-size:contain;background-repeat:no-repeat;background-position:center;
  opacity:.05;pointer-events:none;filter:grayscale(1);
}
#home::after,#level-detail::after{
  content:'';
  position:absolute;top:0;left:0;right:0;height:8px;
  background:linear-gradient(90deg,var(--sm-purple),var(--sm-purple-2),var(--sm-orange));
}
#home h2, #home p{position:relative;z-index:1}
.level-card,.course-panel,.error-box,.lesson-card,
.dp-hero,.dp-path,.dp-level-card,.dp-feature,.dp-pack-card,.dp-vocab-card,.dp-flash-card,
.pro-progress-card,.pro-route-note,.pro-week-card,.pro-method-grid article,.pro-pattern-card,.pro-focus-card,.pro-vocab-card,.pro-practice-card,.pro-speaking-card,
.vm-hero,.vm-section-head,.vm-verb-hero,.vm-toolbar,.vm-card,.vm-classic-grid button,.vm-nonpersonal,.vm-tense,
.lesson-content table,.lesson-content img{
  position:relative;
}
.course-panel::before,.vm-hero::before,.vm-section-head::before,.vm-verb-hero::before,
.dp-hero::before,.pro-hero::before,.pro-head::before{
  content:'SpeakMundo';
  position:absolute;right:22px;top:14px;font-size:.74rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);z-index:1
}
.course-panel{
  background:linear-gradient(180deg,#ffffff 0%,#fdfbff 100%);
  border:1px solid #eee8fb;
}
.level-card{border-top-color:var(--sm-orange)!important}
.lesson-card:hover{border-color:#c4b5fd}
.lesson-number{box-shadow:0 8px 18px rgba(91,33,182,.18)}
.vm-tense table th:nth-child(1){white-space:nowrap}
.vm-footer-note::before,.vm-hindi-note::before,.pro-build-challenge::before{
  content:'SpeakMundo';
  display:inline-block;margin-right:8px;font-weight:900;color:var(--sm-purple)
}
@media (max-width:900px){
  .sm-brand-shell{flex-direction:column;align-items:flex-start;padding-bottom:16px}
  .sm-brand-center{text-align:left;width:100%}
  .sm-brand-nav{width:100%;justify-content:flex-start}
  .sm-brand-shell::after{left:0;right:0}
}
@media (max-width:700px){
  #home,#level-detail{padding:18px;border-radius:24px}
  body.speakmundo-theme::before{background-size:220px auto;background-position:right 8px bottom 8px}
  .sm-brand-logo{width:50px;height:50px}
  .sm-brand-name{font-size:1.35rem}
}


/* ===== Step 23 Premium Branded Professional Pages ===== */
#home .text-center h2{
  background:linear-gradient(90deg,#1e1b4b 0%,#6d28d9 40%,#f97316 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#home .text-center p{color:#516074;font-weight:700}
.level-card{
  background:linear-gradient(180deg,#ffffff 0%,#fcf9ff 100%);
  border:1px solid #eee8fb;
  position:relative;overflow:hidden;
}
.level-card::before{
  content:'';position:absolute;right:-18px;bottom:-18px;width:88px;height:88px;
  background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.06;pointer-events:none;
}
.level-card::after{
  content:'SpeakMundo';position:absolute;top:14px;right:16px;font-size:.65rem;font-weight:900;letter-spacing:.14em;color:#b8a7de;text-transform:uppercase;
}
.course-panel{overflow:hidden;position:relative}
.course-panel::after{
  content:'';position:absolute;right:-8px;bottom:-8px;width:120px;height:120px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.055;pointer-events:none;
}
.lesson-card{background:linear-gradient(180deg,#ffffff 0%,#faf8ff 100%)}
.lesson-card:hover{background:linear-gradient(180deg,#ffffff 0%,#fff8f2 100%)}

/* Professional course global */
.pro-shell{position:relative;z-index:1}
.pro-shell::before{
  content:'';position:fixed;right:18px;bottom:18px;width:210px;height:210px;
  background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.045;pointer-events:none;z-index:0;
}
.pro-shell>*{position:relative;z-index:1}
.pro-hero,.pro-head{
  border:1px solid rgba(255,255,255,.14);
  border-top:6px solid #f97316;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 26%),
    linear-gradient(135deg,#24094a 0%,#5b21b6 42%,#7c3aed 70%,#f97316 135%);
}
.pro-hero::before,.pro-head::before{
  content:'' !important;
  position:absolute !important;right:26px;top:22px;width:94px;height:94px;
  background:url('../assets/speakmundo-logo.png') center/contain no-repeat;
  opacity:.15;filter:brightness(0) invert(1);z-index:1;
}
.pro-hero>div,.pro-head>div{max-width:82%}
.pro-badges span{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.pro-progress-card{border:1px solid #e7dcff;border-left:5px solid #7c3aed;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)}
.pro-route-note{border:1px solid #eee0ff;background:linear-gradient(90deg,#ffffff 0%,#fffaf6 55%,#faf7ff 100%)}
.pro-action-row button,.pro-primary-wide{box-shadow:0 14px 28px rgba(91,33,182,.16)}
.pro-action-row button:nth-child(3){background:linear-gradient(180deg,#fff 0%,#faf7ff 100%);color:#5b21b6;border:1px solid #ddd6fe}

.pro-phase>div{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);border:1px solid #ece3ff;border-left:7px solid var(--phase);position:relative;overflow:hidden}
.pro-phase>div::after{content:'SpeakMundo';position:absolute;right:16px;top:14px;font-size:.64rem;font-weight:900;letter-spacing:.16em;color:#d0c2ef}
.pro-week-card{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);border:1px solid #eee5fb;overflow:hidden;position:relative}
.pro-week-card::after{content:'';position:absolute;right:-24px;bottom:-24px;width:110px;height:110px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.035}
.pro-week-num{background:linear-gradient(180deg,#f3ebff 0%,#fff1e9 100%);border:1px solid #eadcff}
.pro-mini{background:linear-gradient(180deg,#ffffff 0%,#faf8ff 100%);border:1px solid #ebe7f5}
.pro-mini:hover{border-color:#cdbdff;background:linear-gradient(180deg,#ffffff 0%,#fff8f1 100%)}
.pro-mini.done{background:linear-gradient(180deg,#f0fdf4 0%,#ffffff 100%);border-color:#a7f3d0}

.pro-method-grid article,.pro-focus-card,.pro-review,.pro-side-grammar,.pro-side-goal,.pro-speaking-card,.pro-practice>article,.pro-mini-scenarios details{
  background:linear-gradient(180deg,#ffffff 0%,#fdfcff 100%);
  border:1px solid #ece5fb;
  box-shadow:0 14px 32px rgba(31,41,55,.06);
  position:relative;overflow:hidden;
}
.pro-method-grid article::after,.pro-focus-card::after,.pro-side-grammar::after,.pro-side-goal::after,.pro-speaking-card::after,.pro-practice>article::after,.pro-mini-scenarios details::after{
  content:'';position:absolute;right:-12px;bottom:-12px;width:78px;height:78px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.04;pointer-events:none;
}
.pro-section-title{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(90deg,#ffffff 0%,#fff8f2 46%,#faf7ff 100%);border:1px solid #eee3fb;border-radius:22px;padding:15px 17px;margin:10px 0 18px;box-shadow:0 10px 26px rgba(31,41,55,.04)}
.pro-section-title>span:first-child{display:grid;place-items:center;width:52px;min-width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#ede9fe 0%,#fff7ed 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.pro-section-title h3{font-size:1.35rem;font-weight:900;color:#172033}
.pro-section-title p{color:#64748b;line-height:1.6}
.pro-subhead{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(90deg,#ede9fe,#ffffff);padding:8px 13px;border-radius:999px;color:#5b21b6;font-weight:900;margin:14px 0 12px}
.pro-subhead.orange{background:linear-gradient(90deg,#fff7ed,#ffffff);color:#c2410c}

.pro-phrase-grid article,.pro-daily-grid article,.pro-vocab-grid article{
  background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);
  border:1px solid #ece5fb;
  border-radius:18px;
  box-shadow:0 12px 28px rgba(31,41,55,.05);
  overflow:hidden;position:relative;
}
.pro-phrase-grid article::before,.pro-daily-grid article::before,.pro-vocab-grid article::before{
  content:'';position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#7c3aed,#f97316)
}
.pro-phrase-grid article button,.pro-daily-grid article button,.pro-vocab-grid article button{box-shadow:0 8px 18px rgba(91,33,182,.09)}
.pro-tip,.pro-build-challenge{background:linear-gradient(90deg,#fff 0%,#fff8f2 55%,#faf7ff 100%);border:1px solid #eedfff;border-radius:18px;padding:14px 16px;color:#475569;box-shadow:0 10px 25px rgba(31,41,55,.04)}
.pro-build-challenge b,.pro-tip b{color:#5b21b6}

.pro-pattern-card{
  background:linear-gradient(180deg,#ffffff 0%,#fcf9ff 100%);
  border:1px solid #e9dcff;
  border-top:5px solid #f97316;
  box-shadow:0 18px 36px rgba(31,41,55,.07);
}
.pro-pattern-top b{font-size:1.18rem}
.pro-pattern-top em{margin-top:2px}
.pro-pattern-meta{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border:1px solid #dce7f6}
.pro-pattern-actions>button{background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;border:1px solid #e9dcff}
.pro-pattern-tip{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);border:1px solid #eadcff}
.pro-pattern-tip summary{background:linear-gradient(90deg,#ffffff 0%,#faf7ff 100%)}
.pro-tip-ex{background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%)}

.pro-stepper{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);border:1px solid #ece3fb}
.pro-stepper button{border:1px solid transparent;font-weight:800}
.pro-stepper button.active{background:linear-gradient(90deg,#5b21b6,#7c3aed);color:#fff;box-shadow:0 12px 20px rgba(91,33,182,.15)}
.pro-stepper button.active span{background:rgba(255,255,255,.24);color:#fff}
.pro-stepper button:hover{border-color:#d8cafd}

.pro-sound-grid article{background:linear-gradient(180deg,#ffffff 0%,#faf8ff 100%);border:1px solid #ece3fb;box-shadow:0 10px 24px rgba(31,41,55,.05)}
.pro-practice>article small{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(90deg,#ede9fe,#fff7ed);padding:7px 10px;border-radius:999px;color:#5b21b6;font-weight:900}
.pro-options label{background:#fff;border:1px solid #e5e7eb}
.pro-options label:hover{border-color:#c4b5fd;background:#faf7ff}
.pro-qfb{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px}
.pro-qfb .good{color:#047857}.pro-qfb .bad{color:#b91c1c}
.pro-score{background:linear-gradient(90deg,#2e1065,#6d28d9 65%,#ea580c);color:#fff;border-radius:18px;padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:0 14px 28px rgba(91,33,182,.18)}
.pro-score b{font-size:1.7rem}
.pro-speaking-card{border-top:5px solid #7c3aed}
.pro-model{background:linear-gradient(180deg,#fff 0%,#faf7ff 100%)}
.pro-selfcheck label{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)}
.pro-complete{box-shadow:0 16px 30px rgba(91,33,182,.18)}
.pro-side{display:grid;gap:14px;align-content:start}
.pro-side .pro-scene{background:linear-gradient(135deg,#2e1065 0%,#6d28d9 60%,#f97316 150%);border-radius:22px;padding:18px;color:#fff;display:flex;gap:13px;align-items:center;box-shadow:0 16px 30px rgba(91,33,182,.16);position:relative;overflow:hidden}
.pro-side .pro-scene::after{content:'';position:absolute;right:-18px;bottom:-18px;width:90px;height:90px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1)}
.pro-side .pro-scene span{font-size:2rem}.pro-side .pro-scene small{display:block;color:#f3e8ff;font-weight:900;letter-spacing:.1em}.pro-side .pro-scene b{font-size:1.05rem;display:block}.pro-side .pro-scene em{display:block;font-style:normal;color:#fed7aa;font-weight:800}
.pro-side-goal b{color:#5b21b6}
.pro-nav-actions button,.pro-lesson-bottom button{background:linear-gradient(180deg,#ffffff 0%,#faf7ff 100%);border:1px solid #e6def7}
.pro-nav-actions button.primary{background:linear-gradient(90deg,#5b21b6,#f97316);border-color:transparent}

/* DELE + Verb + dashboard more branded */
.dp-hero,.dp-level-hero,.dp-head,.vm-hero,.vm-section-head,.vm-verb-hero{position:relative;overflow:hidden}
.dp-hero::before,.dp-level-hero::before,.dp-head::before,.vm-hero::before,.vm-section-head::before,.vm-verb-hero::before{
  content:'' !important;position:absolute !important;right:20px;top:18px;width:90px;height:90px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1)
}
.dp-feature,.dp-pack-card,.dp-vocab-card,.dp-flash-card,.vm-card,.vm-classic-grid button,.vm-nonpersonal,.vm-tense{border:1px solid #ece3fb;box-shadow:0 12px 28px rgba(31,41,55,.05)}
.dp-feature,.dp-pack-card,.dp-vocab-card,.dp-flash-card,.vm-card{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);position:relative;overflow:hidden}
.dp-feature::after,.dp-pack-card::after,.dp-vocab-card::after,.dp-flash-card::after,.vm-card::after{
  content:'';position:absolute;right:-12px;bottom:-12px;width:70px;height:70px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.035;pointer-events:none;
}
.vm-toolbar{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)}
@media (max-width:900px){
  .pro-hero>div,.pro-head>div{max-width:100%}
  .pro-hero::before,.pro-head::before,.dp-hero::before,.dp-level-hero::before,.dp-head::before,.vm-hero::before,.vm-section-head::before,.vm-verb-hero::before{width:72px;height:72px;right:14px;top:14px;opacity:.12}
}
@media (max-width:700px){
  .pro-shell::before{width:120px;height:120px;right:8px;bottom:8px}
  .level-card::after,.pro-phase>div::after{display:none}
  .pro-section-title{padding:14px}
  .pro-section-title>span:first-child{width:44px;min-width:44px;height:44px}
}


/* ===== Step 24 Full SpeakMundo Premium Branding ===== */
:root{
  --sm-grad-main:linear-gradient(135deg,#24094a 0%,#5b21b6 40%,#7c3aed 68%,#f97316 120%);
  --sm-grad-soft:linear-gradient(90deg,#ede9fe 0%,#fff7ed 100%);
  --sm-shadow:0 18px 40px rgba(31,41,55,.08);
}
button,.sm-home-link,.vm-back,.dp-back,.pro-head button,.pro-action-row button,.pro-primary-wide,.pro-complete,.pro-nav-actions button,.pro-lesson-bottom button{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;}
button:hover,.sm-home-link:hover,.vm-back:hover,.dp-back:hover,.pro-head button:hover,.pro-action-row button:hover,.pro-primary-wide:hover,.pro-complete:hover,.pro-nav-actions button:hover,.pro-lesson-bottom button:hover{transform:translateY(-1px)}
#home .space-y-6>div:first-child{background:var(--sm-grad-main);color:#fff;border-radius:28px;padding:30px;box-shadow:0 24px 44px rgba(91,33,182,.16);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
#home .space-y-6>div:first-child::after{content:'';position:absolute;right:-10px;bottom:-10px;width:130px;height:130px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.14;filter:brightness(0) invert(1)}
#home .space-y-6>div:first-child p,#home .space-y-6>div:first-child .text-gray-600{color:rgba(255,255,255,.9)!important}
#home .space-y-6>div:first-child .inline-flex{background:rgba(255,255,255,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)}
.course-panel,.level-card,.lesson-card,.dp-feature,.dp-pack-card,.dp-vocab-card,.dp-flash-card,.vm-card,.vm-tense,.vm-nonpersonal,.pro-pattern-card,.pro-phrase-grid article,.pro-daily-grid article,.pro-vocab-grid article,.pro-practice>article,.pro-speaking-card,.pro-week-card,.pro-method-grid article,.pro-progress-card,.pro-route-note{box-shadow:var(--sm-shadow)}
.pro-cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0 26px}
.pro-cover-card{position:relative;overflow:hidden;border-radius:24px;padding:22px;border:1px solid #eadcff;box-shadow:0 18px 38px rgba(31,41,55,.07);background:#fff;display:flex;flex-direction:column;gap:12px}
.pro-cover-card::before{content:'';position:absolute;inset:0;opacity:1}
.pro-cover-card::after{content:'';position:absolute;right:-18px;bottom:-18px;width:110px;height:110px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.08}
.pro-cover-card.foundation::before{background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(255,255,255,0) 60%)}
.pro-cover-card.daily::before{background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(255,255,255,0) 65%)}
.pro-cover-card.work::before{background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(255,255,255,0) 65%)}
.pro-cover-card.mastery::before{background:linear-gradient(135deg,rgba(30,41,59,.16),rgba(255,255,255,0) 65%)}
.pro-cover-card>*{position:relative;z-index:1}
.pro-cover-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border-radius:999px;background:var(--sm-grad-soft);color:#5b21b6;font-size:.8rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border:1px solid #e9dcff}
.pro-cover-card h3{font-size:1.35rem;line-height:1.25;font-weight:900;color:#172033;margin:0}
.pro-cover-card p{color:#5d6b80;line-height:1.65;margin:0}
.pro-cover-points{display:flex;flex-wrap:wrap;gap:8px}.pro-cover-points span{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #ebe5fb;color:#4b5563;font-weight:800;font-size:.85rem}
.pro-cover-card button{align-self:flex-start;padding:12px 16px;border:none;border-radius:14px;background:var(--sm-grad-main);color:#fff;font-weight:900;box-shadow:0 14px 28px rgba(91,33,182,.16)}
.pro-session-banner{margin:18px 0 18px;border-radius:24px;padding:20px 22px;background:var(--sm-grad-main);color:#fff;display:grid;grid-template-columns:1.4fr 1fr;gap:18px;box-shadow:0 20px 42px rgba(91,33,182,.18);position:relative;overflow:hidden}
.pro-session-banner::after{content:'';position:absolute;right:-12px;bottom:-14px;width:122px;height:122px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1)}
.pro-session-left{display:flex;gap:16px;align-items:flex-start;min-width:0}.pro-session-icon{width:60px;height:60px;min-width:60px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:1.8rem;border:1px solid rgba(255,255,255,.14)}
.pro-session-left small{display:block;color:#f3e8ff;font-weight:900;letter-spacing:.14em;margin-bottom:6px}.pro-session-left h3{font-size:1.4rem;font-weight:900;margin:0 0 6px;color:#fff}.pro-session-left p{color:rgba(255,255,255,.9);margin:0;line-height:1.6}
.pro-session-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pro-session-meta span{display:flex;flex-direction:column;justify-content:center;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16)}.pro-session-meta b{font-size:1rem;font-weight:900;color:#fff;line-height:1.3}.pro-session-meta em{font-style:normal;color:#fef3c7;font-weight:700;margin-top:4px}
.pro-action-row button,.pro-primary-wide,.pro-complete{background:var(--sm-grad-main);color:#fff;border:none}.pro-action-row button:nth-child(2){background:linear-gradient(135deg,#5b21b6 0%,#8b5cf6 100%)}.pro-action-row button:nth-child(3){background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)!important;color:#fff!important;border:none!important}.pro-action-row button:nth-child(4){background:linear-gradient(135deg,#ea580c 0%,#fb923c 100%)}
.pro-stepper button.active,.pro-nav-actions button.primary,.pro-lesson-bottom button:last-child{background:var(--sm-grad-main)!important;color:#fff;border:none}
.dp-shell{position:relative}.dp-shell::before{content:'';position:fixed;right:20px;bottom:20px;width:190px;height:190px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.045;pointer-events:none}
.dp-hero,.dp-level-hero,.dp-head{background:var(--sm-grad-main)!important;border-top:6px solid #f97316;box-shadow:0 24px 46px rgba(91,33,182,.18)}
.dp-hero h2,.dp-level-hero h2,.dp-head h2,.dp-hero p,.dp-level-hero p,.dp-head p,.dp-kicker{color:#fff!important}
.dp-back,.vm-back{background:#fff;color:#5b21b6;border:none;border-radius:14px;padding:11px 14px;font-weight:900;box-shadow:0 14px 26px rgba(15,23,42,.12)}
.dp-primary-wide{background:var(--sm-grad-main);border:none;box-shadow:0 14px 28px rgba(91,33,182,.16)}
.vm-shell{position:relative}.vm-shell::before{content:'';position:fixed;right:18px;bottom:18px;width:190px;height:190px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.045;pointer-events:none}
.vm-hero,.vm-section-head,.vm-verb-hero{background:var(--sm-grad-main)!important;border-top:6px solid #f97316;box-shadow:0 24px 46px rgba(91,33,182,.18)}
.vm-hero h2,.vm-section-head h2,.vm-verb-hero h2,.vm-hero p,.vm-section-head p,.vm-verb-hero p,.vm-kicker{color:#fff!important}
.vm-stats span,.vm-badges span{background:rgba(255,255,255,.15)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important}
.vm-guide{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(90deg,#ffffff 0%,#fff8f2 50%,#faf7ff 100%);border:1px solid #ecdfff;border-radius:22px;padding:18px;box-shadow:var(--sm-shadow);margin:18px 0}
.vm-guide span:first-child{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--sm-grad-soft);font-size:1.5rem}.vm-guide b{display:block;color:#172033;font-size:1.05rem;margin-bottom:4px}.vm-guide p{color:#64748b;line-height:1.6}.vm-guide button{padding:12px 16px;border:none;border-radius:14px;background:var(--sm-grad-main);color:#fff;font-weight:900;box-shadow:0 14px 28px rgba(91,33,182,.16)}
.vm-toolbar{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;border:1px solid #ece3fb;border-radius:22px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);box-shadow:var(--sm-shadow)}
.vm-search{border:1px solid #e7def7;border-radius:16px;background:#fff}.vm-filters button,.vm-letters button,.vm-pages button,.vm-verb-actions button,.vm-classic-grid button{border:1px solid #e6def7;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#faf7ff 100%);font-weight:800;color:#4b5563}
.vm-filters button.active,.vm-letters button.active,.vm-verb-actions button.primary{background:var(--sm-grad-main);color:#fff;border:none;box-shadow:0 12px 24px rgba(91,33,182,.16)}
.vm-result-head{background:linear-gradient(90deg,#ffffff 0%,#fff8f2 40%,#faf7ff 100%);border:1px solid #ece3fb;border-radius:18px;padding:14px 16px;margin:18px 0 14px;box-shadow:var(--sm-shadow)}
.vm-card{position:relative;overflow:hidden;padding-top:18px;border-top:4px solid #f97316;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)}.vm-card::before{content:'';position:absolute;right:-10px;bottom:-12px;width:78px;height:78px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.045}.vm-card-top i{border-radius:999px;padding:7px 10px;font-style:normal;font-weight:900;font-size:.75rem}.vm-card-top i.regular{background:#ecfdf5;color:#047857}.vm-card-top i.irregular{background:#fff7ed;color:#c2410c}.vm-card-top i.reflexive{background:#eff6ff;color:#1d4ed8}
.vm-inf{font-size:1.2rem;font-weight:900;color:#172033}.vm-card b{color:#5b21b6}.vm-card p{color:#475569}.vm-card em{color:#f97316;font-style:normal;font-weight:900}.vm-tense-head,.vm-mood-title{background:linear-gradient(90deg,#fff8f2 0%,#faf7ff 100%);border-bottom:1px solid #ece3fb}.vm-four-col th{background:linear-gradient(90deg,#1f1440 0%,#5b21b6 70%,#7c3aed 100%);color:#fff}.vm-audio{background:var(--sm-grad-soft);border:1px solid #e6def7;color:#5b21b6;font-weight:900;border-radius:12px;padding:7px 10px}
@media (max-width:980px){.pro-cover-grid{grid-template-columns:1fr}.pro-session-banner{grid-template-columns:1fr}.vm-toolbar{grid-template-columns:1fr}}
@media (max-width:780px){.vm-guide{grid-template-columns:1fr}.dp-shell::before,.vm-shell::before{width:120px;height:120px;right:8px;bottom:8px}}


/* ===== Step 25 Unified Footer + Verb/DELE Premium Upgrade ===== */
.sm-footer{position:relative;z-index:2;padding-bottom:28px}
.sm-footer-shell{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,#24094a 0%,#5b21b6 45%,#7c3aed 72%,#f97316 120%);border-radius:28px;color:#fff;box-shadow:0 24px 48px rgba(91,33,182,.18);overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.12)}
.sm-footer-shell::after{content:'';position:absolute;right:-10px;bottom:-10px;width:120px;height:120px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.14;filter:brightness(0) invert(1)}
.sm-footer-brand{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.sm-footer-brand img{width:64px;height:64px;object-fit:contain}.sm-footer-brand h3{font-size:1.7rem;font-weight:900;line-height:1;margin:0}.sm-footer-brand h3 span{color:#ffedd5}.sm-footer-brand p{max-width:620px;margin-top:6px;color:rgba(255,255,255,.9);font-weight:700;line-height:1.6}
.sm-footer-links{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1;justify-content:flex-end}.sm-footer-links button{padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.14);color:#fff;font-weight:900;backdrop-filter:blur(4px)}
.sm-footer-links button:hover{background:#fff;color:#5b21b6}

.vm-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.vm-quick-card{position:relative;overflow:hidden;border-radius:24px;padding:20px;border:1px solid #eadcff;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);box-shadow:0 18px 36px rgba(31,41,55,.06)}
.vm-quick-card.alt{background:linear-gradient(180deg,#fffaf5 0%,#fff 45%,#fcfbff 100%)}
.vm-quick-card::after{content:'';position:absolute;right:-12px;bottom:-12px;width:86px;height:86px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.05}
.vm-quick-card small{display:inline-flex;padding:7px 10px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.vm-quick-card h3{margin:12px 0 6px;font-size:1.28rem;font-weight:900;color:#172033}.vm-quick-card p{color:#64748b;line-height:1.6;margin-bottom:12px}
.vm-chip-row{display:flex;flex-wrap:wrap;gap:10px}.vm-chip-row button{padding:10px 12px;border-radius:999px;background:#fff;border:1px solid #e6def7;color:#5b21b6;font-weight:900;box-shadow:0 10px 22px rgba(91,33,182,.08)}
.vm-chip-row button:hover{background:linear-gradient(90deg,#5b21b6,#f97316);color:#fff;border-color:transparent}
.vm-verb-pager{display:grid;gap:12px;background:linear-gradient(90deg,#ffffff 0%,#fff8f2 45%,#faf7ff 100%);border:1px solid #eadcff;border-radius:20px;padding:16px 18px;box-shadow:0 14px 28px rgba(31,41,55,.05);margin:18px 0}
.vm-pager-main{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.vm-pager-main button,.vm-related-row button{padding:10px 12px;border-radius:14px;border:1px solid #e6def7;background:#fff;color:#5b21b6;font-weight:900}.vm-pager-main button:nth-child(2){background:linear-gradient(90deg,#5b21b6,#f97316);color:#fff;border:none}.vm-related-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vm-related-row b{color:#172033}

.dp-track-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 18px}.dp-track-card{position:relative;overflow:hidden;border-radius:24px;padding:22px;border:1px solid #eadcff;box-shadow:0 18px 36px rgba(31,41,55,.07);background:#fff}.dp-track-card.start{background:linear-gradient(180deg,#ffffff 0%,#faf7ff 100%)}.dp-track-card.target{background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%)}.dp-track-card::after{content:'';position:absolute;right:-12px;bottom:-12px;width:92px;height:92px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.05}
.dp-track-card small{display:inline-flex;padding:7px 11px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dp-track-card h3{margin:12px 0 8px;font-size:1.28rem;font-weight:900;color:#172033}.dp-track-card p{color:#64748b;line-height:1.6}.dp-track-card div{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.dp-track-card div span{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #ebe5fb;color:#5b6475;font-weight:800}
.dp-level-journey{margin:18px 0 18px;padding:20px;border-radius:24px;border:1px solid #eadcff;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);box-shadow:0 16px 34px rgba(31,41,55,.06);position:relative;overflow:hidden}.dp-level-journey::after{content:'';position:absolute;right:-14px;bottom:-14px;width:92px;height:92px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.05}
.dp-journey-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.dp-journey-head b{font-size:1.15rem;color:#172033}.dp-journey-head span{color:#64748b;font-weight:700}
.dp-journey-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.dp-journey-steps span{padding:12px 12px;border-radius:16px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;font-weight:900;text-align:center;border:1px solid #eadcff}
.dp-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.dp-quick-actions button{padding:11px 14px;border-radius:14px;background:#fff;border:1px solid #e5def7;color:#5b21b6;font-weight:900;box-shadow:0 10px 22px rgba(91,33,182,.08)}.dp-quick-actions button:hover{background:linear-gradient(90deg,#5b21b6,#f97316);color:#fff;border-color:transparent}

@media (max-width:980px){.vm-quick-grid,.dp-track-grid{grid-template-columns:1fr}.dp-journey-steps{grid-template-columns:repeat(2,1fr)}.sm-footer-shell{flex-direction:column;align-items:flex-start}.sm-footer-links{justify-content:flex-start}}
@media (max-width:680px){.vm-pager-main{grid-template-columns:1fr}.dp-journey-head{flex-direction:column;align-items:flex-start}.dp-journey-steps{grid-template-columns:1fr}.sm-footer-brand{align-items:flex-start}.sm-footer-brand img{width:52px;height:52px}}


/* ===== Step 26 Colorful Branded Content Pages ===== */
.sm-lesson-cover{
  position:relative;overflow:hidden;border-radius:26px;padding:22px 24px;margin:0 0 22px;
  background:linear-gradient(135deg,#24094a 0%,#5b21b6 42%,#7c3aed 70%,#f97316 125%);
  color:#fff;box-shadow:0 22px 46px rgba(91,33,182,.18);border-top:6px solid #f97316;
}
.sm-lesson-cover::after{
  content:'';position:absolute;right:-22px;bottom:-28px;width:160px;height:160px;
  background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1);pointer-events:none;
}
.sm-lesson-cover-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;position:relative;z-index:1}
.sm-lesson-cover-brand img{width:54px;height:54px;object-fit:contain;filter:brightness(0) invert(1)}
.sm-lesson-cover-brand small{display:block;font-weight:900;letter-spacing:.12em;color:#f3e8ff;font-size:.72rem}
.sm-lesson-cover-brand span{display:block;color:#fed7aa;font-weight:800;margin-top:2px}
.sm-lesson-cover-main{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;position:relative;z-index:1}
.sm-lesson-cover-main h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:900;line-height:1.08;margin:7px 0 8px;color:#fff!important}
.sm-lesson-cover-main p{margin:0;color:rgba(255,255,255,.9);font-weight:700;line-height:1.55}
.sm-lesson-tag{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18);font-weight:900;font-size:.78rem}
.sm-lesson-level{min-width:82px;height:82px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:1.45rem;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}

.lesson-content.sm-branded-content{
  position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#fefeff 100%);
  border:1px solid #ebe4f7;border-radius:26px;padding:26px;box-shadow:0 18px 38px rgba(31,41,55,.06);
}
.lesson-content.sm-branded-content::before{
  content:'';position:absolute;right:-36px;top:120px;width:260px;height:260px;
  background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.025;pointer-events:none;filter:grayscale(1);
}
.lesson-content.sm-branded-content>*{position:relative;z-index:1}

/* Branded section headings */
.lesson-content h1,
.lesson-content h2,
.lesson-content h3,
.lesson-content h4,
.lesson-content h5{
  font-family:'Nunito',Inter,system-ui,sans-serif!important;
}
.lesson-content h1{font-size:2rem!important;color:#172033!important;line-height:1.2!important}
.lesson-content h2{
  display:flex;align-items:center;gap:10px;font-size:1.55rem!important;color:#172033!important;
  margin:30px 0 14px!important;padding:12px 15px!important;border-radius:16px!important;
  background:linear-gradient(90deg,#ede9fe 0%,#fff7ed 100%)!important;border-left:5px solid #7c3aed!important;
}
.lesson-content h2::before{content:'◆';color:#f97316;font-size:.8rem}
.lesson-content h3{
  font-size:1.25rem!important;color:#4c1d95!important;margin:24px 0 12px!important;padding:10px 12px!important;
  border-radius:14px!important;background:linear-gradient(90deg,#faf7ff 0%,#ffffff 100%)!important;border:1px solid #eadcff!important;
}
.lesson-content h4{font-size:1.08rem!important;color:#c2410c!important;margin:20px 0 10px!important;font-weight:900!important}
.lesson-content p{font-size:1rem;line-height:1.75;color:#445066;margin:0 0 12px}
.lesson-content strong,.lesson-content b{color:#172033}
.lesson-content em{color:#6d28d9}
.lesson-content a{color:#6d28d9;font-weight:900;text-decoration:none;border-bottom:1px dashed #a78bfa}

/* Colorful data tables */
.lesson-content .table-wrap,.lesson-content>div:has(>table){overflow-x:auto;border-radius:20px}
.lesson-content table{
  width:100%!important;border-collapse:separate!important;border-spacing:0!important;margin:16px 0 24px!important;
  background:#fff!important;border:1px solid #e7def7!important;border-radius:20px!important;overflow:hidden!important;
  box-shadow:0 14px 30px rgba(31,41,55,.06)!important;font-size:.96rem!important;
}
.lesson-content thead th,.lesson-content table tr:first-child th{
  background:linear-gradient(90deg,#2e1065 0%,#5b21b6 68%,#7c3aed 100%)!important;
  color:#fff!important;font-weight:900!important;border-color:rgba(255,255,255,.12)!important;padding:13px 14px!important;
  text-transform:none!important;letter-spacing:.01em!important;
}
.lesson-content td,.lesson-content th{padding:12px 14px!important;border-color:#eceaf4!important;vertical-align:top!important}
.lesson-content tbody tr:nth-child(even){background:#faf8ff!important}
.lesson-content tbody tr:nth-child(odd){background:#fff!important}
.lesson-content tbody tr:hover{background:#fff7ed!important;transition:.18s}
.lesson-content tbody tr td:first-child{font-weight:800;color:#4c1d95}
.lesson-content tr[style*="background"],.lesson-content tr.bg-blue-50,.lesson-content tr.bg-indigo-50{background:#f1edff!important}
.lesson-content table code{background:#ede9fe;color:#5b21b6;border-radius:8px;padding:3px 6px;font-weight:800}

/* Lists become readable teaching blocks */
.lesson-content ul,.lesson-content ol{margin:14px 0 20px;padding-left:0;display:grid;gap:8px}
.lesson-content li{list-style:none;position:relative;padding:10px 12px 10px 38px;border-radius:13px;background:#fbfbfe;border:1px solid #ece9f5;color:#445066;line-height:1.55}
.lesson-content ul li::before{content:'✓';position:absolute;left:13px;top:9px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#ede9fe;color:#6d28d9;font-weight:900;font-size:.75rem}
.lesson-content ol{counter-reset:smstep}
.lesson-content ol li{counter-increment:smstep}
.lesson-content ol li::before{content:counter(smstep);position:absolute;left:10px;top:8px;width:23px;height:23px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#6d28d9,#f97316);color:#fff;font-size:.72rem;font-weight:900}

/* Practice/tip/callout blocks present in old book content */
.lesson-content blockquote,
.lesson-content .note,
.lesson-content .tip,
.lesson-content .practice,
.lesson-content .practice-section,
.lesson-content .example,
.lesson-content .examples,
.lesson-content .grammar-tip,
.lesson-content .important,
.lesson-content [class*="tip"],
.lesson-content [class*="practice"]{
  border-radius:18px!important;padding:16px 18px!important;margin:18px 0!important;
  background:linear-gradient(90deg,#ffffff 0%,#fff8f2 50%,#faf7ff 100%)!important;
  border:1px solid #eadcff!important;border-left:5px solid #f97316!important;
  box-shadow:0 10px 24px rgba(31,41,55,.04)!important;
}
.lesson-content details{margin:15px 0;border:1px solid #e8defa;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 9px 20px rgba(31,41,55,.04)}
.lesson-content details summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#5b21b6;background:linear-gradient(90deg,#faf7ff,#fff7ed)}
.lesson-content details>*:not(summary){margin-left:15px;margin-right:15px}
.lesson-content code{background:#f3efff;color:#5b21b6;border:1px solid #e5dcfb;border-radius:9px;padding:3px 6px;font-weight:800}
.lesson-content pre{overflow:auto;background:#1f1440;color:#fff;border-radius:16px;padding:16px;box-shadow:0 12px 26px rgba(31,20,64,.15)}

/* Images and media inside content */
.lesson-content img{border-radius:20px!important;border:1px solid #eadcff!important;box-shadow:0 16px 34px rgba(31,41,55,.09)!important;margin:14px auto!important;display:block!important}
.lesson-content audio,.lesson-content video{width:100%;border-radius:14px;margin:12px 0}

/* Standalone practice heading often in old content */
.lesson-content p:has(+ul) strong:first-child,
.lesson-content div>strong:first-child{color:#5b21b6}

/* Lesson practice CTA also branded */
.chapter-practice-cta{
  margin-top:24px!important;border-radius:22px!important;padding:18px!important;
  background:linear-gradient(90deg,#ffffff 0%,#fff8f2 50%,#faf7ff 100%)!important;
  border:1px solid #eadcff!important;box-shadow:0 14px 28px rgba(31,41,55,.06)!important;
}
.chapter-practice-cta strong{font-size:1.1rem;color:#172033}.chapter-practice-cta span{color:#64748b}
.chapter-practice-cta .primary-practice{background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316)!important;color:#fff!important;border:none!important;box-shadow:0 12px 24px rgba(91,33,182,.16)!important}
.chapter-practice-cta .sm-secondary{background:#fff!important;color:#5b21b6!important;border:1px solid #ddd6fe!important}

/* Level/course listing gets matching style */
.course-head{background:linear-gradient(90deg,#ffffff 0%,#fff8f2 52%,#faf7ff 100%);border:1px solid #eadcff;border-radius:18px;padding:15px 16px;margin-bottom:18px}
.lesson-list{gap:14px}.lesson-card{border:1px solid #e9e4f2!important;border-left:5px solid #7c3aed!important;border-radius:17px!important;background:linear-gradient(180deg,#fff 0%,#fdfcff 100%)!important;box-shadow:0 10px 24px rgba(31,41,55,.04)!important}
.lesson-card:hover{border-left-color:#f97316!important;background:linear-gradient(180deg,#fff 0%,#fff8f2 100%)!important;transform:translateY(-2px)!important}

@media(max-width:780px){
  .sm-lesson-cover-main{flex-direction:column;align-items:flex-start}.sm-lesson-level{width:70px;height:70px;min-width:70px}.lesson-content.sm-branded-content{padding:17px}.lesson-content table{font-size:.88rem!important}.lesson-content td,.lesson-content th{padding:10px!important}
}


/* ===== Step 27 Content Page Layout Fix ===== */
html,body{max-width:100%;overflow-x:hidden}
.sm-main-shell,#level-detail{width:100%;max-width:100%}
.course-panel.sm-content-page{
  max-width:min(1380px,100%);
  margin:0 auto;
  padding:0;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.sm-lesson-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  position:sticky;
  top:92px;
  z-index:25;
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 14px 28px rgba(31,41,55,.08)!important;
}
.sm-toolbar-btn{flex:0 0 auto}
.sm-reading-badge{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;
  background:linear-gradient(90deg,#ede9fe,#fff7ed);border:1px solid #eadcff;
  color:#5b21b6;font-weight:900;font-size:.8rem;letter-spacing:.03em
}
.sm-content-page .sm-lesson-cover,
.sm-content-page .lesson-content.sm-branded-content,
.sm-content-page .chapter-practice-cta,
.sm-content-page .sm-lesson-nav{
  max-width:100%;
}
.lesson-content.sm-branded-content{
  padding:clamp(18px,2.6vw,34px)!important;
  overflow:visible;
}
.lesson-content.sm-branded-content::before{right:-52px;top:auto;bottom:40px;width:300px;height:300px}
.lesson-content.sm-branded-content,
.lesson-content.sm-branded-content *{box-sizing:border-box}
.lesson-content.sm-branded-content > *,
.lesson-content.sm-branded-content section,
.lesson-content.sm-branded-content article,
.lesson-content.sm-branded-content div,
.lesson-content.sm-branded-content p,
.lesson-content.sm-branded-content ul,
.lesson-content.sm-branded-content ol,
.lesson-content.sm-branded-content table,
.lesson-content.sm-branded-content img,
.lesson-content.sm-branded-content audio,
.lesson-content.sm-branded-content video,
.lesson-content.sm-branded-content iframe{
  max-width:100%!important;
}
.lesson-content.sm-branded-content [style*="float:left"],
.lesson-content.sm-branded-content [style*="float: left"],
.lesson-content.sm-branded-content [style*="float:right"],
.lesson-content.sm-branded-content [style*="float: right"]{
  float:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.lesson-content.sm-branded-content [style*="width:48%"],
.lesson-content.sm-branded-content [style*="width: 48%"],
.lesson-content.sm-branded-content [style*="width:49%"],
.lesson-content.sm-branded-content [style*="width: 49%"],
.lesson-content.sm-branded-content [style*="width:50%"],
.lesson-content.sm-branded-content [style*="width: 50%"],
.lesson-content.sm-branded-content [style*="width:45%"],
.lesson-content.sm-branded-content [style*="width: 45%"]{
  width:100%!important;
}
.lesson-content.sm-branded-content table{
  display:block!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  white-space:normal;
}
.lesson-content.sm-branded-content table tbody,
.lesson-content.sm-branded-content table thead{width:100%}
.lesson-content.sm-branded-content td,
.lesson-content.sm-branded-content th{
  min-width:120px;
  word-break:break-word;
}
.lesson-content.sm-branded-content img,
.lesson-content.sm-branded-content video,
.lesson-content.sm-branded-content iframe{
  width:auto;
  height:auto;
}
.sm-lesson-nav{
  background:linear-gradient(90deg,#ffffff 0%,#fff8f2 48%,#faf7ff 100%);
  border:1px solid #eadcff;
  border-radius:22px;
  padding:16px 18px 0;
  box-shadow:0 14px 28px rgba(31,41,55,.05);
}
.sm-lesson-nav .lesson-card{min-width:160px}

/* Improve readability of legacy content blocks */
.lesson-content.sm-branded-content .prose,
.lesson-content.sm-branded-content .max-w-none,
.lesson-content.sm-branded-content .explanation-box{
  max-width:none!important;
  width:100%!important;
}
.lesson-content.sm-branded-content .grid,
.lesson-content.sm-branded-content [class*="grid-cols-2"],
.lesson-content.sm-branded-content [class*="grid-cols-3"],
.lesson-content.sm-branded-content [class*="grid-cols-4"]{
  grid-template-columns:1fr!important;
}

@media (min-width:1100px){
  .course-panel.sm-content-page{padding:0 8px}
  .lesson-content.sm-branded-content{font-size:1.02rem}
}
@media (max-width:980px){
  .sm-lesson-toolbar{top:84px}
}
@media (max-width:780px){
  .course-panel.sm-content-page{padding:0}
  .sm-lesson-toolbar{
    position:static;
    padding:12px 14px!important;
    border-radius:18px!important;
  }
  .sm-reading-badge{font-size:.74rem;padding:8px 10px}
  .sm-lesson-cover{padding:18px 18px 20px!important;border-radius:22px!important}
  .sm-lesson-cover-brand{margin-bottom:14px}
  .sm-lesson-cover-brand img{width:44px!important;height:44px!important}
  .sm-lesson-cover-main h2{font-size:clamp(1.5rem,7vw,2rem)!important}
  .lesson-content.sm-branded-content{padding:16px!important;border-radius:20px!important}
  .lesson-content.sm-branded-content h1{font-size:1.55rem!important}
  .lesson-content.sm-branded-content h2{font-size:1.12rem!important;padding:10px 12px!important;border-radius:14px!important}
  .lesson-content.sm-branded-content h3{font-size:1rem!important;padding:9px 11px!important}
  .lesson-content.sm-branded-content p,
  .lesson-content.sm-branded-content li,
  .lesson-content.sm-branded-content td,
  .lesson-content.sm-branded-content th{font-size:.93rem!important;line-height:1.55!important}
  .lesson-content.sm-branded-content table{font-size:.88rem!important}
  .lesson-content.sm-branded-content td,
  .lesson-content.sm-branded-content th{min-width:96px;padding:9px!important}
  .chapter-practice-cta,
  .sm-lesson-nav{padding:14px!important;border-radius:18px!important}
  .sm-lesson-nav .lesson-card{flex:1 1 100%;min-width:unset}
}


/* ===== Step 28 Premium Lesson Layout + PDF Export ===== */
.course-head.sm-lesson-toolbar{position:relative;top:auto;z-index:12;margin-bottom:14px;padding:14px 18px!important;border-radius:22px!important}
.sm-toolbar-left,.sm-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sm-toolbar-right{margin-left:auto;justify-content:flex-end}
.sm-toolbar-btn{width:auto!important;padding:10px 15px!important;min-height:auto!important}
.sm-pdf-btn{background:linear-gradient(90deg,#5b21b6,#f97316)!important;color:#fff!important;border:none!important;box-shadow:0 12px 24px rgba(91,33,182,.16)!important}
.sm-reading-badge.confidential{background:linear-gradient(90deg,#fff7ed,#ffe4e6);border-color:#fecaca;color:#9a3412}
.sm-progress-wrap{margin:0 0 18px}
.sm-progress-track{height:10px;background:linear-gradient(90deg,#ede9fe,#fff7ed);border:1px solid #eadcff;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}
.sm-progress-fill{height:100%;border-radius:999px;box-shadow:0 6px 12px rgba(91,33,182,.18)}
.sm-lesson-cover{
  padding:28px 28px 24px!important;
  border-radius:28px!important;
  margin:0 0 22px!important;
}
.sm-lesson-cover::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%,rgba(255,255,255,.1) 100%);pointer-events:none}
.sm-confidential-mark{position:absolute;top:18px;right:20px;display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.74rem;font-weight:900;letter-spacing:.08em;color:#fff;z-index:2;text-transform:uppercase;backdrop-filter:blur(4px)}
.sm-lesson-cover-brand{margin-top:18px;align-items:center;gap:16px!important}
.sm-brand-logo-chip{width:88px;height:88px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 18px 36px rgba(31,41,55,.16);border:1px solid rgba(255,255,255,.35);padding:10px;flex:0 0 auto}
.sm-brand-logo-chip img{width:100%;height:100%;object-fit:contain;filter:none!important}
.sm-lesson-cover-brand small{font-size:.76rem!important}
.sm-lesson-cover-brand span{font-size:1.15rem;color:#ffedd5;font-weight:900}
.sm-lesson-cover-main{align-items:center!important;gap:24px!important}
.sm-lesson-level{background:rgba(255,255,255,.16)!important;backdrop-filter:blur(6px);width:96px;height:96px;min-width:96px;font-size:1.7rem!important;border-radius:26px!important}
.sm-content-page .lesson-content.sm-branded-content{border-radius:28px!important}
.sm-content-page .lesson-content.sm-branded-content::after{content:'CONFIDENTIAL';position:absolute;right:18px;top:18px;font-size:.72rem;font-weight:900;letter-spacing:.12em;color:rgba(91,33,182,.18);z-index:0}
.chapter-practice-cta::after{content:'SpeakMundo Confidential';display:inline-flex;margin-left:auto;font-size:.78rem;font-weight:900;color:#a78bfa}
.sm-lesson-nav{padding-top:18px!important}

/* Print / PDF styling */
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff!important}
  body.speakmundo-theme::before,.sm-footer,.sm-brand-header,#home,.chapter-practice-cta,.sm-lesson-nav,.sm-lesson-toolbar button:not(.sm-pdf-btn){display:none!important}
  .sm-lesson-toolbar{position:static!important;box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important;padding:10px 14px!important;margin-bottom:10px!important}
  .sm-toolbar-right{margin-left:0!important}
  .sm-toolbar-right .sm-pdf-btn{display:none!important}
  .sm-reading-badge,.lesson-count{border:1px solid #ddd!important;background:#fff!important;color:#333!important}
  main.container,.sm-main-shell,#level-detail,.course-panel.sm-content-page{max-width:100%!important;padding:0!important;margin:0!important}
  #level-detail,#home{background:#fff!important;border:none!important;box-shadow:none!important}
  .sm-content-page .sm-lesson-cover{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important;background:linear-gradient(135deg,#3b1270 0%,#6d28d9 60%,#f97316 120%)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sm-confidential-mark{background:rgba(255,255,255,.15)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}
  .lesson-content.sm-branded-content,.lesson-content table,.lesson-content details,.lesson-content .practice,.lesson-content .tip,.lesson-content .example,.lesson-content .grammar-tip,.lesson-content blockquote{box-shadow:none!important;break-inside:avoid}
  .lesson-content table thead th,.lesson-content h2,.lesson-content h3{ -webkit-print-color-adjust:exact; print-color-adjust:exact;}
  a{color:#000!important;text-decoration:none!important}
}

@media (max-width:980px){
  .sm-lesson-cover{padding:24px 22px 22px!important}
  .sm-brand-logo-chip{width:74px;height:74px;border-radius:22px}
}
@media (max-width:780px){
  .course-head.sm-lesson-toolbar{padding:12px 14px!important;gap:10px}
  .sm-toolbar-left,.sm-toolbar-right{width:100%}
  .sm-toolbar-right{justify-content:flex-start}
  .sm-confidential-mark{position:static;display:inline-flex;align-self:flex-start;margin-bottom:12px}
  .sm-lesson-cover{padding:20px 18px 18px!important}
  .sm-brand-logo-chip{width:62px;height:62px;border-radius:18px}
  .sm-lesson-cover-brand span{font-size:1rem}
  .sm-lesson-level{width:78px;height:78px;min-width:78px;font-size:1.35rem!important;border-radius:22px!important}
}


/* ===== Step 29 Dynamic Confidential PDF + Chapter Sharing ===== */
.sm-pdf-settings-btn{background:#fff!important;color:#5b21b6!important;border:1px solid #ddd6fe!important}
.sm-dynamic-watermark{position:fixed;left:50%;top:57%;transform:translate(-50%,-50%) rotate(-28deg);font-size:clamp(2.6rem,7vw,7rem);font-weight:900;letter-spacing:.08em;color:rgba(91,33,182,.025);white-space:nowrap;pointer-events:none;z-index:0;text-transform:uppercase}
.sm-content-page>*{position:relative;z-index:1}
.sm-pdf-cover-sheet{display:none}
.sm-content-document-footer{margin:18px 0 0;padding:14px 16px;border:1px solid #eadcff;border-radius:18px;background:linear-gradient(90deg,#fff 0%,#fff8f2 48%,#faf7ff 100%);display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 10px 24px rgba(31,41,55,.04)}
.sm-content-document-footer>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sm-content-document-footer img{width:38px;height:38px;object-fit:contain}.sm-content-document-footer b{color:#9a3412}.sm-content-document-footer span{color:#64748b;font-weight:700}
.sm-pdf-modal{position:fixed;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(5px);z-index:9999;display:grid;place-items:center;padding:20px}
.sm-pdf-dialog{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;border:1px solid #eadcff;box-shadow:0 30px 80px rgba(15,23,42,.3);padding:22px;position:relative}
.sm-pdf-dialog::before{content:'';position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316);border-radius:26px 26px 0 0}
.sm-pdf-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin:6px 0 18px}.sm-pdf-dialog-head small{color:#7c3aed;font-weight:900;letter-spacing:.1em}.sm-pdf-dialog-head h3{font-size:1.4rem;font-weight:900;color:#172033;margin-top:4px}.sm-pdf-dialog-head>button{width:38px;height:38px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:1.4rem;color:#64748b}
.sm-pdf-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sm-pdf-form label{display:grid;gap:7px;color:#334155;font-weight:900}.sm-pdf-form label.wide{grid-column:1/-1}.sm-pdf-form input{width:100%;padding:12px 13px;border:1px solid #ddd6fe;border-radius:14px;outline:none;background:#fcfbff;color:#172033;font-weight:700}.sm-pdf-form input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1)}
.sm-pdf-preview{margin:16px 0;padding:13px 14px;border-radius:16px;background:linear-gradient(90deg,#faf7ff,#fff7ed);border:1px solid #eadcff;display:flex;gap:14px;flex-wrap:wrap;color:#64748b}.sm-pdf-preview b{color:#172033}
.sm-pdf-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.sm-pdf-dialog-actions button{padding:11px 16px;border-radius:14px;font-weight:900}.sm-pdf-dialog-actions .secondary{background:#fff;border:1px solid #ddd6fe;color:#5b21b6}.sm-pdf-dialog-actions .primary{border:none;background:linear-gradient(90deg,#5b21b6,#f97316);color:#fff;box-shadow:0 12px 24px rgba(91,33,182,.16)}

@media print{
  @page{size:A4 portrait;margin:12mm 12mm 16mm}
  .sm-pdf-cover-sheet{display:flex!important;min-height:255mm;page-break-after:always;flex-direction:column;justify-content:space-between;border:2px solid #5b21b6;border-radius:22px;padding:22mm 16mm 14mm;position:relative;overflow:hidden;background:linear-gradient(160deg,#ffffff 0%,#faf7ff 58%,#fff7ed 100%)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sm-pdf-cover-sheet::after{content:'';position:absolute;right:-20mm;bottom:-18mm;width:92mm;height:92mm;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.07}
  .sm-pdf-cover-top{display:flex;gap:12mm;align-items:center;position:relative;z-index:1}.sm-pdf-cover-top img{width:38mm;height:38mm;object-fit:contain}.sm-pdf-cover-top small{font-weight:900;letter-spacing:.12em;color:#7c3aed}.sm-pdf-cover-top h1{font-size:26pt;line-height:1.12;color:#172033;margin:4mm 0 2mm}.sm-pdf-cover-top p{font-size:12pt;color:#64748b}
  .sm-pdf-cover-meta{display:grid;grid-template-columns:1fr 1fr;gap:6mm;position:relative;z-index:1}.sm-pdf-cover-meta>div{border:1px solid #ddd6fe;border-radius:12px;padding:5mm;background:rgba(255,255,255,.88)}.sm-pdf-cover-meta small{display:block;color:#7c3aed;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2mm}.sm-pdf-cover-meta b{color:#172033;font-size:12pt}
  .sm-pdf-cover-note{position:relative;z-index:1;padding:5mm;border-radius:12px;background:#fff7ed;border-left:4px solid #f97316;color:#7c2d12;font-weight:700}.sm-pdf-cover-footer{position:relative;z-index:1;text-align:center;color:#5b21b6;font-weight:900;letter-spacing:.06em}
  .sm-dynamic-watermark{display:block!important;position:fixed!important;left:50%!important;top:52%!important;transform:translate(-50%,-50%) rotate(-32deg)!important;font-size:42pt!important;color:rgba(91,33,182,.07)!important;z-index:999!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sm-content-document-footer{display:flex!important;position:relative!important;break-inside:avoid;box-shadow:none!important;margin-top:8mm!important;border-top:1px solid #ddd!important;background:#fff!important;padding:4mm 0!important;border-left:none!important;border-right:none!important;border-bottom:none!important;border-radius:0!important}
  .sm-content-document-footer img{width:9mm!important;height:9mm!important}
  .sm-content-document-footer b,.sm-content-document-footer span{font-size:8.5pt!important}
  .sm-lesson-cover{page-break-inside:avoid}
  .lesson-content.sm-branded-content{overflow:visible!important}
}
@media(max-width:700px){.sm-pdf-form{grid-template-columns:1fr}.sm-pdf-form label.wide{grid-column:auto}.sm-content-document-footer{align-items:flex-start;flex-direction:column}.sm-dynamic-watermark{font-size:2.4rem}}


/* ===== Step 30 Secure Student Portal ===== */
body.sm-auth-locked>.sm-brand-header,body.sm-auth-locked>.sm-main-shell,body.sm-auth-locked>.sm-footer{visibility:hidden;pointer-events:none}
#sm-auth-root{position:relative;z-index:9999}.sm-login-screen{position:fixed;inset:0;display:grid;grid-template-columns:minmax(420px,.9fr) 1.1fr;background:#f8f7fc;overflow:auto;min-height:100vh;font-family:'Nunito',sans-serif}.sm-login-card{padding:clamp(34px,6vw,82px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:rgba(255,255,255,.96)}
.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand img{width:66px;height:66px;object-fit:contain}.auth-brand-name{font-size:1.75rem;line-height:1;font-weight:900;color:#172033}.auth-brand-name b{color:#f97316}.auth-brand small{display:block;margin-top:5px;color:#64748b;font-weight:800}.sm-login-badge,.sm-admin-kicker{display:inline-flex;align-self:flex-start;margin-top:28px;padding:8px 12px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;font-size:.76rem;font-weight:900;letter-spacing:.11em}.sm-login-card h1{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.02;letter-spacing:-.035em;color:#1f1440;margin:18px 0 12px;font-weight:900}.sm-login-card>p{font-size:1.04rem;color:#64748b;max-width:600px;line-height:1.7}.sm-login-card form,.sm-admin-login form{display:grid;gap:15px;margin-top:28px}.sm-login-card label,.sm-admin-login label,.sm-admin-editor label{font-weight:900;color:#334155;display:grid;gap:7px}.sm-login-card input,.sm-admin-login input,.sm-admin-editor input,.sm-admin-tools input{width:100%;border:1px solid #ddd6fe;border-radius:15px;padding:13px 14px;background:#fff;outline:none;font:inherit;color:#172033;box-shadow:0 8px 22px rgba(91,33,182,.05)}.sm-login-card input:focus,.sm-admin-login input:focus,.sm-admin-editor input:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.10)}.sm-password-field{position:relative}.sm-password-field input{padding-right:70px}.sm-password-field button{position:absolute;right:8px;top:8px;padding:7px 10px;border:0;background:#f3efff;color:#5b21b6;border-radius:10px;font-weight:900}.sm-login-primary{border:0;border-radius:16px;padding:14px 18px;background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316);color:#fff;font-size:1rem;font-weight:900;box-shadow:0 16px 30px rgba(91,33,182,.18)}.sm-login-primary:disabled{opacity:.6}.sm-login-security{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.sm-login-security span{padding:8px 10px;border-radius:999px;background:#faf8ff;border:1px solid #eee8f8;color:#5d6577;font-size:.82rem;font-weight:800}.sm-login-help{font-size:.83rem!important;color:#94a3b8!important;margin-top:16px}.sm-admin-link{align-self:flex-start;border:0;background:none;color:#6d28d9;font-weight:900;padding:8px 0;margin-top:3px}.sm-login-side{position:relative;overflow:hidden;padding:clamp(50px,7vw,96px);background:linear-gradient(145deg,#24094a 0%,#5b21b6 48%,#7c3aed 72%,#f97316 125%);color:#fff;display:flex;flex-direction:column;justify-content:center}.sm-login-side::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;border:80px solid rgba(255,255,255,.04);right:-220px;top:-170px}.sm-login-side::after{content:'SPEAKMUNDO';position:absolute;right:-50px;bottom:45px;font-size:7rem;font-weight:900;letter-spacing:.05em;color:rgba(255,255,255,.035);transform:rotate(-12deg)}.sm-side-logo{width:105px;height:105px;background:#fff;border-radius:30px;padding:12px;display:grid;place-items:center;box-shadow:0 22px 50px rgba(20,4,50,.25);position:relative;z-index:2}.sm-side-logo img{width:100%;height:100%;object-fit:contain}.sm-side-kicker{margin-top:28px;font-size:.76rem;letter-spacing:.14em;font-weight:900;color:#ffedd5;position:relative;z-index:2}.sm-login-side h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.98;font-weight:900;letter-spacing:-.04em;margin:12px 0;position:relative;z-index:2}.sm-login-side>p{color:rgba(255,255,255,.84);max-width:650px;font-size:1.05rem;line-height:1.7;position:relative;z-index:2}.sm-side-feature{display:flex;align-items:center;gap:15px;margin-top:18px;position:relative;z-index:2}.sm-side-feature>b{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16)}.sm-side-feature span{display:grid}.sm-side-feature strong{font-size:1rem}.sm-side-feature small{color:rgba(255,255,255,.7);margin-top:3px}.sm-login-glow{position:fixed;border-radius:50%;filter:blur(80px);opacity:.25;pointer-events:none}.sm-login-glow.one{width:260px;height:260px;background:#7c3aed;left:25%;top:10%}.sm-login-glow.two{width:300px;height:300px;background:#f97316;left:38%;bottom:5%}.sm-auth-message{padding:11px 13px;border-radius:13px;font-weight:800;margin-top:14px}.sm-auth-message.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.sm-auth-message.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.sm-loader-screen{position:fixed;inset:0;background:linear-gradient(145deg,#faf8ff,#fff7ed);display:grid;place-items:center;align-content:center;gap:18px;text-align:center}.sm-loader-screen .auth-brand{margin-bottom:14px}.sm-loader-ring{width:56px;height:56px;border:5px solid #ede9fe;border-top-color:#7c3aed;border-right-color:#f97316;border-radius:50%;animation:smspin .8s linear infinite}@keyframes smspin{to{transform:rotate(360deg)}}.sm-loader-screen h2{font-size:1.5rem;color:#1f1440;font-weight:900}.sm-loader-screen p{color:#64748b}
.sm-student-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 26px;padding:17px 20px;border:1px solid #e8defa;border-radius:22px;background:linear-gradient(90deg,#ffffff,#fff8f2 52%,#faf7ff);box-shadow:0 14px 30px rgba(31,41,55,.06)}.sm-student-welcome{display:flex;align-items:center;gap:13px}.sm-student-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#5b21b6,#f97316);color:#fff;font-size:1.2rem;font-weight:900}.sm-student-avatar.big{width:70px;height:70px;border-radius:22px;font-size:1.6rem}.sm-student-welcome small,.sm-account-head small{font-size:.7rem;letter-spacing:.1em;font-weight:900;color:#7c3aed}.sm-student-welcome h3{margin:1px 0;font-size:1.15rem;font-weight:900;color:#172033}.sm-student-welcome p{font-size:.85rem;color:#64748b}.sm-student-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.sm-license-pills{display:flex;gap:6px;flex-wrap:wrap}.sm-license-pills span{font-size:.72rem;padding:7px 9px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-weight:900}.sm-student-actions button,.sm-header-user{padding:9px 12px;border-radius:12px;border:1px solid #e5def7;background:#fff;color:#5b21b6;font-weight:900}.sm-student-actions button.danger{color:#be123c;border-color:#fecdd3}.sm-header-user{margin-left:8px}.sm-license-watermark{display:none;position:fixed;right:-110px;top:50%;transform:rotate(-90deg);transform-origin:center;z-index:40;pointer-events:none;font-size:.72rem;font-weight:900;letter-spacing:.11em;color:rgba(91,33,182,.11);text-transform:uppercase;white-space:nowrap}
.sm-modal-backdrop{position:fixed;inset:0;background:rgba(24,11,48,.62);backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px;z-index:10000;overflow:auto}.sm-account-modal,.sm-admin-login{width:min(720px,100%);background:#fff;border-radius:28px;padding:26px;box-shadow:0 30px 80px rgba(20,4,50,.28);position:relative}.sm-modal-x{position:absolute;right:18px;top:18px;width:36px;height:36px;border-radius:12px;border:1px solid #e5def7;background:#fff;color:#5b21b6;font-size:1.4rem}.sm-account-head{display:flex;gap:16px;align-items:center;margin:24px 0}.sm-account-head h2{font-size:1.55rem;font-weight:900;color:#172033}.sm-account-head p{color:#64748b}.sm-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sm-account-grid>div{padding:14px;border:1px solid #ece8f5;border-radius:16px;background:#fcfbff;display:grid;gap:4px}.sm-account-grid .wide{grid-column:1/-1}.sm-account-grid small{color:#64748b;font-weight:800}.sm-account-grid b{color:#172033}.mono{font-family:monospace}.sm-account-note{margin:16px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(90deg,#fff7ed,#faf7ff);border:1px solid #eadcff;color:#6b5f70;font-weight:800;line-height:1.55}
.sm-admin-shell{position:fixed;inset:0;background:#f7f6fb;z-index:10000;overflow:auto;padding:26px}.sm-admin-shell>header{max-width:1400px;margin:auto;display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#24094a,#5b21b6 60%,#f97316 125%);color:#fff;border-radius:26px;padding:20px 22px;box-shadow:0 20px 45px rgba(91,33,182,.18)}.sm-admin-shell>header .auth-brand-name,.sm-admin-shell>header .auth-brand small{color:#fff}.sm-admin-shell>header>div:nth-child(2){flex:1}.sm-admin-shell>header small{font-weight:900;letter-spacing:.11em;color:#fed7aa}.sm-admin-shell>header h2{font-size:1.5rem;font-weight:900}.sm-admin-head-actions{display:flex;gap:9px}.sm-admin-head-actions button{padding:10px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.13);color:#fff;font-weight:900}.sm-admin-stats,.sm-admin-tools,.sm-admin-table-wrap{max-width:1400px;margin:18px auto}.sm-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sm-admin-stats article{padding:18px;border-radius:20px;background:#fff;border:1px solid #ebe7f4;box-shadow:0 12px 26px rgba(31,41,55,.05)}.sm-admin-stats b{display:block;font-size:1.7rem;color:#5b21b6}.sm-admin-stats span{color:#64748b;font-weight:800}.sm-admin-tools{display:flex;gap:10px}.sm-admin-tools input{flex:1}.sm-admin-tools button{padding:10px 14px;border-radius:13px;border:1px solid #ddd6fe;background:#fff;color:#5b21b6;font-weight:900}.sm-admin-table-wrap{background:#fff;border:1px solid #ebe7f4;border-radius:22px;overflow:auto;box-shadow:0 14px 30px rgba(31,41,55,.05)}.sm-admin-table-wrap table{width:100%;border-collapse:collapse;min-width:980px}.sm-admin-table-wrap th{background:#f5f1ff;color:#5b21b6;text-align:left;padding:13px;font-size:.82rem}.sm-admin-table-wrap td{padding:13px;border-top:1px solid #f0edf5;color:#475569}.sm-admin-table-wrap td:first-child{display:grid}.sm-admin-table-wrap td:first-child b{color:#172033}.sm-admin-table-wrap td small{color:#94a3b8}.sm-code{font-size:.76rem;background:#ede9fe;color:#5b21b6;padding:6px 8px;border-radius:999px;font-weight:900}.sm-status{font-size:.76rem;padding:6px 8px;border-radius:999px;font-weight:900}.sm-status.active{background:#ecfdf5;color:#047857}.sm-status.blocked,.sm-status.inactive{background:#fff1f2;color:#be123c}.sm-admin-row-actions{white-space:nowrap}.sm-admin-row-actions button{padding:7px 9px;border-radius:10px;border:1px solid #e5def7;background:#fff;color:#5b21b6;font-weight:800;margin:2px}.sm-admin-row-actions button.danger{color:#be123c;border-color:#fecdd3}.sm-admin-editor{position:fixed;right:24px;top:24px;bottom:24px;width:min(560px,calc(100% - 48px));background:#fff;border-radius:26px;box-shadow:0 30px 80px rgba(20,4,50,.3);z-index:10020;padding:26px;overflow:auto}.sm-admin-editor>small{font-weight:900;letter-spacing:.1em;color:#7c3aed}.sm-admin-editor h3{font-size:1.5rem;font-weight:900;color:#172033;margin:5px 0 20px}.sm-admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sm-editor-help{margin:15px 0;padding:12px;border-radius:14px;background:#faf7ff;color:#64748b;line-height:1.6}.sm-secondary-admin{width:100%;margin-top:8px;padding:12px;border-radius:14px;border:1px solid #ddd6fe;background:#fff;color:#5b21b6;font-weight:900}
@media(max-width:900px){.sm-login-screen{grid-template-columns:1fr}.sm-login-side{display:none}.sm-login-card{min-height:100vh}.sm-student-bar{align-items:flex-start;flex-direction:column}.sm-student-actions{justify-content:flex-start}.sm-admin-stats{grid-template-columns:1fr}.sm-admin-shell>header{flex-wrap:wrap}.sm-admin-head-actions{width:100%}.sm-admin-form-grid,.sm-account-grid{grid-template-columns:1fr}.sm-account-grid .wide{grid-column:auto}.sm-license-watermark{display:none!important}}
@media print{.sm-student-bar,.sm-license-watermark,.sm-header-user{display:none!important}}


/* ===== Step 31 Production-ready responsive auth refresh ===== */
#sm-auth-root{position:relative;z-index:9999}.sm-login-screen{position:fixed;inset:0;display:grid;grid-template-columns:minmax(380px,.92fr) 1.08fr;background:linear-gradient(135deg,#f8f7fc,#fff7ed 120%);overflow:auto;min-height:100vh;min-height:100dvh;font-family:'Nunito',sans-serif}
.sm-login-card{padding:clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;background:rgba(255,255,255,.96)}
.sm-login-card-inner{width:min(100%,620px);background:rgba(255,255,255,.86);border:1px solid #ede9fe;border-radius:32px;box-shadow:0 24px 48px rgba(91,33,182,.12);padding:clamp(24px,4vw,42px);backdrop-filter:blur(10px);position:relative;overflow:hidden}
.sm-login-card-inner::after{content:'';position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.05}
.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand img{width:72px;height:72px;object-fit:contain}.auth-brand-name{font-size:1.9rem;line-height:1;font-weight:900;color:#172033}.auth-brand-name b{color:#f97316}.auth-brand small{display:block;margin-top:5px;color:#64748b;font-weight:800}
.sm-login-badge,.sm-admin-kicker{display:inline-flex;align-self:flex-start;margin-top:26px;padding:8px 12px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#5b21b6;font-size:.76rem;font-weight:900;letter-spacing:.11em}
.sm-login-card h1{font-size:clamp(2.15rem,3.6vw,3.75rem);line-height:1.02;letter-spacing:-.04em;color:#1f1440;margin:16px 0 12px;font-weight:900}.sm-login-card h1 span{background:linear-gradient(90deg,#5b21b6,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
.sm-login-card>p,.sm-login-card-inner>p{font-size:1.02rem;color:#64748b;max-width:600px;line-height:1.72}
.sm-mini-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sm-mini-benefits span{padding:8px 12px;border-radius:999px;background:#faf8ff;border:1px solid #eee8f8;color:#5d6577;font-size:.82rem;font-weight:800}
.sm-login-card form,.sm-admin-login form{display:grid;gap:15px;margin-top:24px}.sm-login-card label,.sm-admin-login label,.sm-admin-editor label{font-weight:900;color:#334155;display:grid;gap:7px}.sm-login-card input,.sm-admin-login input,.sm-admin-editor input,.sm-admin-tools input{width:100%;border:1px solid #ddd6fe;border-radius:15px;padding:14px 14px;background:#fff;outline:none;font:inherit;color:#172033;box-shadow:0 8px 22px rgba(91,33,182,.05)}.sm-login-card input:focus,.sm-admin-login input:focus,.sm-admin-editor input:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.10)}
.sm-password-field{position:relative}.sm-password-field input{padding-right:78px}.sm-password-field button{position:absolute;right:8px;top:8px;padding:8px 12px;border:0;background:#f3efff;color:#5b21b6;border-radius:10px;font-weight:900}
.sm-login-primary{border:0;border-radius:16px;padding:15px 18px;background:linear-gradient(90deg,#5b21b6,#7c3aed,#f97316);color:#fff;font-size:1rem;font-weight:900;box-shadow:0 16px 30px rgba(91,33,182,.18)}.sm-login-primary:disabled{opacity:.6}
.sm-login-security{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.sm-login-security span{padding:8px 10px;border-radius:999px;background:#faf8ff;border:1px solid #eee8f8;color:#5d6577;font-size:.82rem;font-weight:800}
.sm-login-help{font-size:.83rem!important;color:#94a3b8!important;margin-top:16px}.sm-admin-link{align-self:flex-start;border:0;background:none;color:#6d28d9;font-weight:900;padding:8px 0;margin-top:3px}
.sm-login-side{position:relative;overflow:hidden;padding:clamp(32px,5vw,78px);background:linear-gradient(145deg,#24094a 0%,#4d1ca0 42%,#6d28d9 72%,#f97316 132%);color:#fff;display:flex;flex-direction:column;justify-content:center}.sm-login-side::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;border:80px solid rgba(255,255,255,.04);right:-220px;top:-170px}.sm-login-side::after{content:'SPEAKMUNDO';position:absolute;right:-50px;bottom:45px;font-size:7rem;font-weight:900;letter-spacing:.05em;color:rgba(255,255,255,.035);transform:rotate(-12deg)}
.sm-side-top{display:flex;align-items:center;gap:16px;position:relative;z-index:2}.sm-side-logo{width:110px;height:110px;background:#fff;border-radius:32px;padding:14px;display:grid;place-items:center;box-shadow:0 22px 50px rgba(20,4,50,.25);position:relative;z-index:2}.sm-side-logo img{width:100%;height:100%;object-fit:contain}.sm-side-branding{display:grid;gap:5px}.sm-side-branding strong{font-size:1.9rem;line-height:1;font-weight:900;color:#fff}
.sm-side-kicker{font-size:.76rem;letter-spacing:.14em;font-weight:900;color:#ffedd5;position:relative;z-index:2}.sm-login-side h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;font-weight:900;letter-spacing:-.04em;margin:18px 0 12px;position:relative;z-index:2}.sm-login-side>p{color:rgba(255,255,255,.84);max-width:650px;font-size:1.05rem;line-height:1.7;position:relative;z-index:2}
.sm-side-feature{display:flex;align-items:center;gap:15px;margin-top:18px;position:relative;z-index:2}.sm-side-feature>b{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16)}.sm-side-feature span{display:grid}.sm-side-feature strong{font-size:1rem}.sm-side-feature small{color:rgba(255,255,255,.7);margin-top:3px}
.sm-device-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;position:relative;z-index:2}.sm-device-strip span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:800;color:#fff}.sm-device-strip i{font-style:normal}
.sm-login-glow{position:fixed;border-radius:50%;filter:blur(80px);opacity:.25;pointer-events:none}.sm-login-glow.one{width:260px;height:260px;background:#7c3aed;left:22%;top:8%}.sm-login-glow.two{width:300px;height:300px;background:#f97316;left:36%;bottom:5%}
@media (max-width:1100px){.sm-login-screen{grid-template-columns:1fr}.sm-login-side{min-height:auto;padding:34px 24px}.sm-login-card{order:2}.sm-login-side{order:1}.sm-side-logo{width:88px;height:88px;border-radius:26px}.sm-login-side h2{font-size:clamp(2rem,7vw,3.2rem)}}
@media (max-width:780px){.sm-login-screen{display:block}.sm-login-side{padding:24px 18px 28px}.sm-login-card{padding:16px}.sm-login-card-inner{border-radius:24px;padding:22px 18px}.auth-brand img{width:56px;height:56px}.auth-brand-name{font-size:1.55rem}.sm-login-badge{margin-top:20px;font-size:.68rem;letter-spacing:.09em}.sm-login-card h1{font-size:clamp(1.9rem,8vw,2.5rem)}.sm-mini-benefits span,.sm-login-security span{font-size:.76rem}.sm-side-logo{width:72px;height:72px;border-radius:20px;padding:10px}.sm-side-branding strong{font-size:1.55rem}.sm-side-feature{align-items:flex-start}.sm-device-strip span{font-size:.82rem;padding:8px 10px}}
body.sm-auth-locked .sm-brand-header,body.sm-auth-locked main,body.sm-auth-locked .sm-footer{filter:blur(2px);pointer-events:none;user-select:none}
@media (max-width:900px){.sm-student-bar{align-items:flex-start;flex-direction:column}.sm-student-actions{justify-content:flex-start}.sm-admin-stats{grid-template-columns:1fr}.sm-admin-shell>header{flex-wrap:wrap}.sm-admin-head-actions{width:100%}.sm-admin-form-grid,.sm-account-grid{grid-template-columns:1fr}.sm-account-grid .wide{grid-column:auto}.sm-license-watermark{display:none!important}}


/* ===== Step 31.3 Full Access dashboard visibility fix ===== */
.sm-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(26px,4vw,46px);background:linear-gradient(135deg,#fff 0%,#faf7ff 52%,#fff8f2 100%);border:1px solid #ebe4fb;border-radius:28px;box-shadow:0 18px 44px rgba(91,33,182,.08);margin-bottom:28px;position:relative;overflow:hidden}.sm-dashboard-hero::before{content:'';position:absolute;right:22px;bottom:-24px;width:170px;height:170px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.055}.sm-dashboard-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:linear-gradient(90deg,#ede9fe,#fff7ed);color:#6d28d9;font-size:.75rem;font-weight:900;letter-spacing:.11em}.sm-dashboard-hero h2{font-size:clamp(2rem,4.7vw,4.1rem)!important;line-height:1.02;margin:14px 0 10px!important}.sm-dashboard-hero p{font-size:clamp(1rem,1.6vw,1.2rem)!important;max-width:760px;margin:0!important}.sm-dashboard-count{min-width:150px;display:grid;place-items:center;padding:18px;border-radius:22px;background:linear-gradient(135deg,#5b21b6,#7c3aed,#f97316);color:#fff;position:relative;z-index:1;box-shadow:0 18px 30px rgba(91,33,182,.18)}.sm-dashboard-count strong{font-size:2.1rem;line-height:1}.sm-dashboard-count span{margin-top:5px;font-size:.78rem;font-weight:800;text-align:center}.sm-course-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;z-index:2}.sm-course-card{display:flex!important;align-items:center;gap:14px;width:100%;min-height:132px;text-align:left;padding:20px;border:1px solid #ebe7f5;border-radius:22px;background:linear-gradient(180deg,#fff,#fdfbff);box-shadow:0 12px 28px rgba(15,23,42,.06);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}.sm-course-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(91,33,182,.12);border-color:#c4b5fd}.sm-course-card::after{content:'SpeakMundo';position:absolute;right:10px;bottom:6px;font-size:.6rem;letter-spacing:.12em;font-weight:900;color:rgba(91,33,182,.12)}.sm-course-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#5b21b6,#f97316);color:#fff;font-size:1.25rem;box-shadow:0 10px 20px rgba(91,33,182,.14)}.sm-course-copy{display:grid;gap:4px;min-width:0;flex:1}.sm-course-copy strong{font-size:1rem;color:#172033;line-height:1.25}.sm-course-copy small{font-size:.79rem;color:#64748b;line-height:1.35}.sm-course-arrow{font-weight:900;color:#7c3aed;font-size:1.25rem}.sm-no-license{padding:22px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:18px;font-weight:800}.sm-tone-red .sm-course-icon{background:linear-gradient(135deg,#dc2626,#fb7185)}.sm-tone-blue .sm-course-icon{background:linear-gradient(135deg,#2563eb,#60a5fa)}.sm-tone-green .sm-course-icon{background:linear-gradient(135deg,#059669,#34d399)}.sm-tone-amber .sm-course-icon{background:linear-gradient(135deg,#d97706,#fbbf24)}.sm-tone-purple .sm-course-icon{background:linear-gradient(135deg,#6d28d9,#a78bfa)}.sm-tone-teal .sm-course-icon{background:linear-gradient(135deg,#0f766e,#2dd4bf)}.sm-tone-orange .sm-course-icon{background:linear-gradient(135deg,#ea580c,#fb923c)}.sm-tone-indigo .sm-course-icon{background:linear-gradient(135deg,#4338ca,#818cf8)}.sm-tone-pink .sm-course-icon{background:linear-gradient(135deg,#be185d,#f472b6)}.sm-tone-emerald .sm-course-icon{background:linear-gradient(135deg,#047857,#6ee7b7)}.sm-tone-violet .sm-course-icon{background:linear-gradient(135deg,#5b21b6,#8b5cf6)}.sm-tone-gold .sm-course-icon{background:linear-gradient(135deg,#b45309,#f59e0b)}
@media(max-width:1200px){.sm-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sm-dashboard-hero{flex-direction:column;align-items:flex-start}.sm-dashboard-count{min-width:0;width:100%;display:flex;justify-content:center;gap:8px}.sm-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sm-course-grid{grid-template-columns:1fr}.sm-course-card{min-height:108px;padding:16px}.sm-dashboard-hero{padding:22px 18px;border-radius:22px}.sm-dashboard-count{justify-content:flex-start}.sm-course-icon{width:48px;height:48px;flex-basis:48px}}


/* ===== Step 31.5 Minimal student login + sheet-only management ===== */
.sm-login-screen-simple{display:flex!important;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:32px 16px;background:radial-gradient(circle at top left, rgba(124,58,237,.12), transparent 28%),radial-gradient(circle at bottom right, rgba(249,115,22,.12), transparent 28%),linear-gradient(135deg,#f8f7fc 0%,#fff9f4 100%)!important}
.sm-login-screen-simple .sm-login-glow,.sm-login-screen-simple .sm-login-side{display:none!important}
.sm-login-card-simple{background:transparent!important;padding:0!important;width:100%;display:flex;justify-content:center}
.sm-login-card-minimal{width:min(100%,640px)!important;border-radius:32px!important;padding:36px 32px!important;background:rgba(255,255,255,.94)!important;border:1px solid #eee8f8!important;box-shadow:0 24px 60px rgba(91,33,182,.10)!important;position:relative;overflow:hidden}
.sm-login-card-minimal::before{content:'';position:absolute;inset:auto -34px -34px auto;width:140px;height:140px;background:url('../assets/speakmundo-logo.png') center/contain no-repeat;opacity:.055}
.sm-login-card-minimal .auth-brand{margin-bottom:18px}
.sm-login-card-minimal .auth-brand img{width:56px;height:56px}
.sm-login-card-minimal .auth-brand-name{font-size:2rem}
.sm-login-card-minimal .sm-login-badge{margin-top:0}
.sm-login-card-minimal h1{font-size:clamp(2.1rem,6vw,3.2rem)!important;line-height:1.05!important;margin:16px 0 12px!important}
.sm-login-card-minimal p{max-width:560px}
.sm-login-card-minimal .sm-mini-benefits,.sm-login-card-minimal .sm-admin-link{display:none!important}
@media (max-width:700px){.sm-login-card-minimal{padding:24px 18px!important;border-radius:24px!important}.sm-login-card-minimal .auth-brand-name{font-size:1.6rem}.sm-login-card-minimal h1{font-size:clamp(1.8rem,9vw,2.5rem)!important}}
