
:root{
  --blue:#082f74;--blue2:#0b4ca1;--red:#d7192d;--bg:#f5f7fb;--text:#152033;
  --muted:#6d7788;--card:#fff;--border:#dfe5ef;--green:#1b9a58;--amber:#a56600;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit} button{cursor:pointer}
.app-shell{max-width:560px;min-height:100vh;margin:0 auto;background:var(--bg);position:relative;padding-bottom:88px}
.topbar{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:16px 18px 20px;border-radius:0 0 24px 24px;position:sticky;top:0;z-index:4}
.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand-mini{font-weight:900;letter-spacing:.4px}
.lang-switch{display:flex;background:rgba(255,255,255,.15);border-radius:999px;padding:3px}.lang-switch button{border:0;background:transparent;color:white;padding:6px 10px;border-radius:999px;font-weight:800}
.lang-switch .active{background:#fff;color:var(--blue)}
.hero{text-align:center;padding:24px 20px 16px}.hero img{width:154px;max-width:54vw;border-radius:22px;box-shadow:0 10px 28px rgba(5,35,80,.13)}
.hero h1{font-size:27px;margin:14px 0 5px;color:var(--blue)}.hero p{margin:0;color:var(--muted)}
.stack{display:grid;gap:13px;padding:0 16px}.card{background:var(--card);border:1px solid var(--border);border-radius:17px;padding:15px;box-shadow:0 7px 22px rgba(17,35,72,.055)}
.form-card{max-width:440px;margin:0 auto}label{display:block;font-size:13px;font-weight:800;margin:12px 0 6px}
input,textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:white;outline:none}
textarea{min-height:110px;resize:vertical}input:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(11,76,161,.1)}
.primary,.secondary,.danger{width:100%;border:0;border-radius:12px;padding:13px 16px;font-weight:900;margin-top:12px}
.primary{background:var(--blue);color:#fff}.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue)}.danger{background:#fff0f2;color:var(--red);border:1px solid #ffd0d6}
.small-link{border:0;background:transparent;color:var(--blue2);font-weight:800;padding:8px 0}.section-title{font-size:20px;margin:20px 16px 10px;color:var(--blue)}
.welcome h2{margin:1px 0 4px;font-size:23px}.welcome p{margin:0;color:var(--muted)}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 16px}.course-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;min-height:126px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 6px 18px rgba(20,40,80,.045)}
.course-card .icon{font-size:27px}.course-card h3{font-size:14px;margin:8px 0 4px}.course-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.35}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(560px,100%);background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 6px max(8px,env(safe-area-inset-bottom));z-index:5}
.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:6px 2px}.bottom-nav button.active{color:var(--red);font-weight:900}
.lesson-list{display:grid;gap:10px;padding:0 16px}.lesson-row{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px}
.lesson-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;color:var(--blue);font-weight:900;flex:0 0 auto}.lesson-row h4{margin:0 0 4px}.lesson-row p{margin:0;color:var(--muted);font-size:13px}
.progress{height:9px;background:#e7ebf2;border-radius:999px;overflow:hidden;margin-top:11px}.progress span{display:block;height:100%;background:var(--red)}
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0 16px}.kpi{text-align:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 6px}.kpi strong{display:block;font-size:21px;color:var(--blue)}.kpi span{font-size:11px;color:var(--muted)}
.badge{font-size:11px;padding:4px 8px;border-radius:999px;background:#eef3fb;color:var(--blue);font-weight:800;display:inline-block}
.badge.red{background:#fff1f2;color:var(--red)}.badge.green{background:#eefaf3;color:var(--green)}.note{font-size:12px;color:var(--muted);line-height:1.45}
.toolbar{padding:0 16px 10px;display:grid;gap:9px}.chips{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 10px;white-space:nowrap;font-size:12px;font-weight:750;color:var(--blue)}
.chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.vocab-list{display:grid;gap:10px;padding:0 16px}.vocab-item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px}.vocab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.vocab-head strong{color:var(--blue);font-size:16px}.translation{font-weight:800;margin:6px 0}.example{color:var(--muted);font-size:13px;line-height:1.45;margin:4px 0}
.speaker{border:0;background:#eef3fb;color:var(--blue);width:36px;height:36px;border-radius:50%;flex:0 0 auto}
.interview-card h3{color:var(--blue);margin:4px 0 5px}.interview-card .es{font-weight:800;margin:0 0 10px}.subhead{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--red);font-weight:900;margin:12px 0 4px}
.answer-box{background:#f7f9fc;border-radius:12px;padding:12px;line-height:1.5;font-size:14px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.actions button{margin:0}
.practice-box{margin-top:11px}.save-mini{border:0;background:#eef3fb;color:var(--blue);font-weight:800;border-radius:10px;padding:9px 11px;margin-top:7px}
.incident-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.incident-title h3{margin:0;color:var(--blue)}
.quote{border-left:4px solid var(--red);padding-left:10px;color:var(--text);margin:8px 0;font-size:14px}.reply{background:#eef6ff;padding:10px;border-radius:10px;color:var(--blue);font-size:13px;line-height:1.45}
.quiz-option{width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px;margin:7px 0}.quiz-option.correct{border-color:#86d2a8;background:#effaf4}.quiz-option.wrong{border-color:#ffb7c0;background:#fff2f4}
.hidden{display:none!important}.contact-card a{color:var(--blue2);font-weight:900;text-decoration:none}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 16px 12px}.tab{border:1px solid var(--border);background:#fff;padding:10px 7px;border-radius:11px;color:var(--blue);font-weight:850;font-size:12px}.tab.active{background:var(--blue);color:#fff}
.checklist{padding-left:19px;margin:8px 0}.checklist li{margin:7px 0;line-height:1.4}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:92px;background:#101827;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.2)}
@media(max-width:370px){.course-grid{grid-template-columns:1fr}.actions{grid-template-columns:1fr}}

.voice-select{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}
.natural-voice-box{margin-top:10px;background:#f7f9fc;border:1px solid var(--border);border-radius:12px;padding:10px;display:grid;gap:6px;font-size:12px;color:var(--muted)}
.mini-dialogue-play{border:1px solid var(--blue);background:#fff;color:var(--blue);font-weight:900;border-radius:999px;padding:7px 10px;font-size:12px}
.speaker-line{display:flex;gap:9px;align-items:flex-start;margin-top:11px}
.speaker-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;flex:0 0 auto}
.speech-panel{flex:1;min-width:0}
.passenger-panel{background:#fff8fa;border-radius:12px;padding:10px}
.staff-panel{background:#f2f7ff;border-radius:12px;padding:10px}
input[type=range]{padding:0;box-shadow:none;accent-color:var(--blue)}


/* ===== V8 COMPLETE LAYOUT ===== */
body{
  background:
    radial-gradient(circle at top left, rgba(8,47,116,.08), transparent 28%),
    linear-gradient(180deg,#f6f8fc 0%,#eef3f9 100%);
}
.app-shell{box-shadow:0 0 55px rgba(8,47,116,.07)}
.topbar{padding-top:max(16px,env(safe-area-inset-top));backdrop-filter:blur(10px)}
.eyebrow{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:950;color:var(--red);display:block;margin-bottom:5px}
.home-hero{margin:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#082f74,#0b4ca1);color:white;border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(8,47,116,.2)}
.home-hero .eyebrow{color:#ffd7dd}.home-hero h1{margin:4px 0 8px;font-size:25px}.home-hero p{margin:0;opacity:.9;font-size:13px;line-height:1.5}
.hero-progress{width:82px;height:82px;border-radius:50%;border:7px solid rgba(255,255,255,.2);display:grid;place-items:center;align-content:center;flex:0 0 auto;background:rgba(255,255,255,.08)}
.hero-progress strong{font-size:22px}.hero-progress span{font-size:9px;opacity:.85;text-transform:uppercase}
.quick-stack{padding-top:2px}
.quick-card{width:100%;border:0;background:linear-gradient(135deg,#fff1f2,#fff);border:1px solid #ffd7dc;border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--text);box-shadow:0 8px 20px rgba(215,25,45,.06)}
.quick-card h3{margin:3px 0 3px;color:var(--red);font-size:17px}.quick-card p{margin:0;color:var(--muted);font-size:12px}
.quick-icon{width:43px;height:43px;border-radius:13px;background:var(--red);color:white;display:grid;place-items:center;font-size:22px;flex:0 0 auto}
.quick-arrow{margin-left:auto;font-size:22px;color:var(--red);font-weight:900}
.quick-card.compact{margin-bottom:6px}
.continue-card{display:flex;align-items:center;justify-content:space-between}.continue-card h3{margin:2px 0;color:var(--blue)}.continue-card p{margin:0;color:var(--muted);font-size:12px}.continue-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;color:var(--blue)}
.module-grid{grid-template-columns:1fr 1fr}
.module-card-top{display:flex;justify-content:space-between;align-items:center}.done-dot{width:23px;height:23px;border-radius:50%;background:#e8f7ef;color:var(--green);display:grid;place-items:center;font-weight:950}.module-complete{border-color:#bfe7d1;background:linear-gradient(180deg,#fff,#f7fcf9)}
.motivation-card{display:flex;gap:12px;align-items:flex-start}.motivation-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.motivation-icon{font-size:27px}
.course-header{padding:24px 18px 14px}.course-header h2{color:var(--blue);font-size:26px;margin:4px 0 6px}.course-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}
.lesson-status{font-size:24px;color:var(--blue);font-weight:900}.lesson-complete{border-color:#bfe7d1;background:#f8fcfa}.lesson-complete .lesson-status{color:var(--green)}
.module-banner{background:linear-gradient(135deg,#082f74,#0b4ca1);color:#fff;padding:16px 18px 24px;border-radius:0 0 26px 26px}.module-banner .eyebrow{color:#ffd8dd;margin-top:8px}.module-banner h2{font-size:29px;margin:5px 0 7px}.module-banner p{margin:0;opacity:.9;font-size:13px}.small-link.light{color:#fff}
.module-stack{padding-top:16px}.audio-standard-card{border-left:4px solid var(--red)}.voice-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.voice-pair span{background:#f7f9fc;border-radius:10px;padding:8px;font-size:11px;font-weight:800;color:var(--blue)}
.scenario-group{padding:16px}.scenario-group .incident-title h3{font-size:18px;margin:3px 0 0}.scenario-list{display:grid;gap:10px;margin-top:12px}.dialogue-scene{border-top:1px solid var(--border);padding-top:13px}.dialogue-scene:first-child{border-top:0;padding-top:0}
.scene-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.group-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.inline-btn{margin-top:0;width:auto}.finish-module{margin-top:3px}
.announcement-card{display:flex;gap:13px;align-items:flex-start}.announcement-number{width:36px;height:36px;border-radius:11px;background:#eef3fb;color:var(--blue);display:grid;place-items:center;font-weight:950;flex:0 0 auto}.announcement-card h3{margin:4px 0 7px;color:var(--blue)}.announcement-en{font-weight:700;line-height:1.5;margin:0 0 7px}.announcement-es{color:var(--muted);font-size:12px;line-height:1.45;margin:0}.shadow-card{border-left:4px solid var(--blue2)}
.quick-page-head{background:linear-gradient(135deg,#d7192d,#a71424);color:#fff;padding:18px 18px 25px;border-radius:0 0 26px 26px}.quick-page-head .eyebrow{color:#ffe2e6;margin-top:8px}.quick-page-head h2{margin:5px 0 7px;font-size:28px}.quick-page-head p{margin:0;opacity:.9}.quick-lesson{padding-top:16px}.quick-step{display:flex;gap:11px;align-items:flex-start}.quick-step>span{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:950;flex:0 0 auto}.quick-step strong{color:var(--blue)}.quick-step p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.dialogue-focus{border:1px solid #ffd1d7}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.two-actions .secondary{margin-top:0}.quick-next{margin-bottom:8px}
.audio-library{display:grid;gap:10px;padding:16px}.audio-library-card{border:1px solid var(--border);background:#fff;border-radius:15px;padding:13px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;color:var(--text)}.audio-library-card>span{font-size:25px}.audio-library-card strong{display:block;color:var(--blue);margin-bottom:2px}.audio-library-card small{color:var(--muted)}.audio-library-card b{font-size:23px;color:var(--blue)}
.profile-head{text-align:center;padding:25px 16px 18px}.profile-avatar{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;display:grid;place-items:center;margin:0 auto 10px;font-size:30px;font-weight:950;box-shadow:0 10px 24px rgba(8,47,116,.2)}.profile-head h2{margin:0;color:var(--blue)}.profile-head p{margin:4px 0;color:var(--muted);font-size:13px}.progress-title{display:flex;justify-content:space-between;align-items:center}.progress-title span{color:var(--red);font-weight:950}.progress.large{height:12px}
.auth-shell{padding-bottom:30px}.premium-hero{padding-bottom:10px}.premium-hero .eyebrow{margin-top:14px}.login-card h3{margin-top:0;color:var(--blue)}.auth-features{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:14px 16px}.auth-features span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:7px 10px;font-size:11px;color:var(--blue);font-weight:850}
.job-tabs{padding-top:14px}
@media(max-width:390px){
  .home-hero{align-items:flex-start}.hero-progress{width:70px;height:70px;border-width:6px}.home-hero h1{font-size:22px}
  .voice-pair{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}
}
