@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root{
  --saas-bg:#f5f7fb;--saas-surface:#ffffff;--saas-border:#e6ebf2;--saas-text:#172033;--saas-muted:#6b778c;
  --saas-primary:#2563eb;--saas-primary-dark:#173ea5;--saas-accent:#0ea5a8;--saas-shadow:0 10px 32px rgba(30,41,59,.07);
  --saas-radius:16px;
}
body{font-family:Inter,Segoe UI,Arial,sans-serif}
h1,h2,h3,.page-title,.teacher-brand strong{font-family:'Plus Jakarta Sans',Inter,Segoe UI,sans-serif;letter-spacing:-.025em}

/* ===== Entrada SaaS ===== */
#screen-role,#screen-teacher-login{background:linear-gradient(135deg,#eef4ff 0%,#f8fbff 52%,#edf9f6 100%);color:var(--saas-text)}
#screen-role .wrap,#screen-teacher-login .wrap{max-width:1160px}
#screen-role .card.hero{max-width:none;text-align:left;padding:0;overflow:hidden;background:#fff;border:1px solid var(--saas-border);box-shadow:0 28px 80px rgba(42,57,90,.13);border-radius:24px}
.lbp-entry-grid{display:grid;grid-template-columns:1.12fr .88fr;min-height:610px}
.lbp-entry-copy{padding:68px 64px;background:linear-gradient(160deg,#0f2857,#183e83 55%,#126c78);color:white;position:relative;overflow:hidden}
.lbp-entry-copy:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;bottom:-180px;background:rgba(255,255,255,.08)}
.lbp-entry-copy .eyebrow{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:700}
.lbp-entry-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.02;margin:26px 0 18px;max-width:640px}
.lbp-entry-copy p{font-size:18px;line-height:1.65;color:#d8e6ff;max-width:600px}
.lbp-feature-list{display:grid;gap:12px;margin-top:30px;max-width:530px}.lbp-feature{display:flex;gap:12px;align-items:flex-start;color:#eaf2ff}.lbp-feature i{font-size:18px;color:#7ce5d9;margin-top:2px}
.lbp-entry-actions{padding:58px 50px;display:flex;flex-direction:column;justify-content:center;background:#fff}.lbp-entry-actions h2{font-size:28px;margin:0 0 8px}.lbp-entry-actions>p{color:var(--saas-muted);line-height:1.55;margin:0 0 26px}
.entry-role-card{border:1px solid var(--saas-border);background:#fff;padding:20px;border-radius:16px;display:flex;gap:14px;align-items:center;text-align:left;width:100%;margin:7px 0;transition:.18s ease;box-shadow:none;color:var(--saas-text)}
.entry-role-card:hover{transform:translateY(-2px);border-color:#b9c9e8;box-shadow:var(--saas-shadow)}.entry-role-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf4ff;color:#205fd2;font-size:21px;flex:none}.entry-role-card.student .entry-role-icon{background:#eafaf7;color:#07877f}.entry-role-card b{display:block;font-size:15px;margin-bottom:4px}.entry-role-card small{display:block;color:var(--saas-muted);font-size:12px;line-height:1.45}

#screen-teacher-login .teacher-login-shell{display:grid;grid-template-columns:.9fr 1.1fr;max-width:980px;margin:24px auto;background:#fff;border:1px solid var(--saas-border);border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(42,57,90,.13)}
.teacher-login-side{padding:54px 44px;background:linear-gradient(160deg,#102c5d,#1f4c9a 62%,#147a84);color:white}.teacher-login-side h1{font-size:34px;margin:18px 0 12px}.teacher-login-side p{color:#dbe7fb;line-height:1.6}.teacher-login-main{padding:48px 44px}.teacher-login-main .input{background:#fff!important;color:#1f2937!important;border:1px solid #d9e1ec!important}.teacher-login-main label{color:#64748b!important}.teacher-login-main .notice{background:#f5f8fd!important;color:#60708a!important;border-left-color:#2563eb!important}

/* ===== Professor SaaS ===== */
#screen-teacher{--teacher-bg:#f5f7fb;--teacher-surface:#fff;--teacher-border:#e5eaf1;--teacher-text:#172033;--teacher-muted:#728096;--teacher-primary:#2563eb;--teacher-primary-2:#1e55c9;--teacher-shadow:0 8px 28px rgba(30,41,59,.06);background:var(--teacher-bg)!important}
.teacher-app-shell{grid-template-columns:248px minmax(0,1fr)!important}
.teacher-sidebar{background:linear-gradient(180deg,#102957,#0d2349 58%,#0b1d3d)!important;padding:24px 16px!important;box-shadow:none!important;border-right:1px solid rgba(255,255,255,.06)}
.teacher-brand{padding:3px 8px 23px!important;border-bottom:1px solid rgba(255,255,255,.10)!important}.teacher-brand-mark{background:#fff!important;color:#174aa7!important;box-shadow:0 6px 20px rgba(0,0,0,.14)!important}.teacher-brand small{color:#9fb4d3!important}
.teacher-nav-label{color:#7f98bb!important;font-size:10px!important;letter-spacing:.12em!important;margin-top:11px!important}
#screen-teacher .teacher-nav .tab{color:#b9c8dc!important;border-radius:10px!important;padding:10px 12px!important;font-weight:600!important}.teacher-nav .tab:hover{background:rgba(255,255,255,.07)!important}.teacher-nav .tab.active{background:#fff!important;color:#1b4da1!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important}
.teacher-sidebar-footer{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.09)!important}
.teacher-main{background:#f5f7fb}.teacher-topbar{height:76px!important;background:rgba(255,255,255,.93)!important;border-bottom:1px solid #e8edf4!important;box-shadow:none!important;backdrop-filter:blur(14px);padding:12px 28px!important}.page-title{font-size:19px!important;color:#172033!important}.page-sub{color:#8290a5!important}.teacher-content{max-width:1480px;margin:0 auto;padding:30px 34px 50px!important}
.studio-kicker{color:#2a62c7!important;background:#edf4ff!important;padding:6px 9px;border-radius:999px;display:inline-block;font-size:10px!important}.studio-heading h1,.dashboard-welcome h1{color:#172033!important}.studio-heading p,.dashboard-welcome p{color:#6d7a90!important}
#screen-teacher .card,#screen-teacher .panel-card,#screen-teacher .dash-metric{border:1px solid #e5eaf1!important;border-radius:16px!important;box-shadow:0 7px 24px rgba(30,41,59,.045)!important;background:#fff!important}
.dashboard-welcome{background:linear-gradient(135deg,#ffffff,#f4f8ff)!important;border:1px solid #e1e8f3!important;border-radius:18px!important;padding:26px 28px!important;margin-bottom:20px!important}
.dashboard-metrics{gap:14px!important}.dash-metric{padding:19px!important}.dash-metric strong{font-size:30px!important;color:#172033}.dash-metric-head span{color:#68768b!important}.dash-metric-icon{background:#eef4ff!important;color:#2563eb!important}
.panel-card{padding:22px!important}.panel-head h2{font-size:16px!important;color:#202b3d}.panel-head small{color:#8290a5!important}.health-item,.activity-row,.quick-action{border-color:#e7ecf3!important}.quick-action{background:#fbfcfe!important}.quick-action:hover{border-color:#b9c9e8!important;background:#f5f8fd!important}.quick-action i{color:#2563eb!important}
#screen-teacher .btn{border-radius:10px!important;font-weight:650!important;padding:10px 14px!important}.plan-chip{border-radius:999px!important}
#screen-teacher .input{border-radius:10px!important;border-color:#d9e1ec!important;min-height:44px!important}#screen-teacher textarea.input{line-height:1.55}
.workflow-banner{gap:8px!important}.workflow-step{background:#fff!important;border-color:#e3e8f0!important;color:#718096!important}.workflow-step strong{color:#263247!important}.workflow-step.active{border-color:#9bb8eb!important;background:#f4f8ff!important;box-shadow:none!important}
.teacher-toolbar{border-radius:14px!important;box-shadow:none!important;background:#fff!important;border-color:#e4e9f1!important}.generated-card{background:#fff!important;border-radius:14px!important}.generated-card:hover{box-shadow:0 10px 28px rgba(30,41,59,.07)!important}.q-index{border-radius:12px!important;background:#eef4ff!important;color:#2158bc!important}.publish-cta{border-radius:16px!important;background:linear-gradient(135deg,#ecfdf5,#f2f7ff)!important}
.table th{background:#f8fafc;color:#66758a!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.04em}.table td{color:#334155}.table th,.table td{border-bottom-color:#ebeff5!important}

/* ===== Jogo do aluno: temática forte por assunto ===== */
#screen-student-home,#screen-game{position:relative;isolation:isolate}
#screen-student-home:before,#screen-game:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(150deg,var(--bg),#020617 78%)}
#screen-student-home:after,#screen-game:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.28;pointer-events:none}
body[data-game-theme="technology"] #screen-student-home:after,body[data-game-theme="technology"] #screen-game:after{background-image:linear-gradient(rgba(53,208,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(53,208,255,.08) 1px,transparent 1px);background-size:36px 36px}
body[data-game-theme="cyber"] #screen-student-home:after,body[data-game-theme="cyber"] #screen-game:after{background:repeating-linear-gradient(90deg,rgba(34,211,238,.05) 0 1px,transparent 1px 32px),radial-gradient(circle at 80% 20%,rgba(34,197,94,.18),transparent 30%)}
body[data-game-theme="science"] #screen-student-home:after,body[data-game-theme="science"] #screen-game:after{background-image:radial-gradient(circle,rgba(34,197,94,.18) 1.5px,transparent 2px);background-size:42px 42px}
body[data-game-theme="space"] #screen-student-home:after,body[data-game-theme="space"] #screen-game:after{background-image:radial-gradient(circle,rgba(255,255,255,.65) 1px,transparent 1.2px),radial-gradient(circle,rgba(129,140,248,.45) 1px,transparent 1.5px);background-size:54px 54px,83px 83px;background-position:0 0,18px 24px}
body[data-game-theme="math"] #screen-student-home:after,body[data-game-theme="math"] #screen-game:after{background-image:linear-gradient(30deg,rgba(245,158,11,.07) 12%,transparent 12.5%,transparent 87%,rgba(245,158,11,.07) 87.5%);background-size:54px 94px}
body[data-game-theme="history"] #screen-student-home:after,body[data-game-theme="history"] #screen-game:after{background:radial-gradient(circle at 15% 20%,rgba(214,167,86,.18),transparent 28%),repeating-linear-gradient(0deg,rgba(214,167,86,.045) 0 1px,transparent 1px 7px)}
body[data-game-theme="language"] #screen-student-home:after,body[data-game-theme="language"] #screen-game:after{background:radial-gradient(circle at 85% 15%,rgba(236,72,153,.2),transparent 28%),linear-gradient(120deg,transparent 48%,rgba(167,139,250,.07) 49%,transparent 50%)}
body[data-game-theme="nature"] #screen-student-home:after,body[data-game-theme="nature"] #screen-game:after{background:radial-gradient(ellipse at 20% 10%,rgba(132,204,22,.2),transparent 35%),radial-gradient(ellipse at 80% 80%,rgba(20,184,166,.16),transparent 36%)}
body[data-game-theme="business"] #screen-student-home:after,body[data-game-theme="business"] #screen-game:after{background-image:linear-gradient(90deg,rgba(56,189,248,.055) 1px,transparent 1px),linear-gradient(rgba(245,158,11,.04) 1px,transparent 1px);background-size:50px 50px}
body[data-game-theme="arts"] #screen-student-home:after,body[data-game-theme="arts"] #screen-game:after{background:radial-gradient(circle at 20% 30%,rgba(244,114,182,.22),transparent 28%),radial-gradient(circle at 80% 70%,rgba(167,139,250,.20),transparent 30%)}
#screen-student-home .hero{border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),var(--panel)!important;text-align:left!important;padding:34px!important}
#screen-student-home .hero h1{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(34px,5vw,58px)!important;line-height:1.04!important}.level{border-radius:18px!important;box-shadow:0 16px 38px rgba(0,0,0,.18)!important;backdrop-filter:blur(6px)}
#screen-game .card.pad{background:rgba(8,20,35,.88)!important;backdrop-filter:blur(12px)}#screen-game .question{border-radius:22px!important;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),var(--panel)!important;box-shadow:0 28px 70px rgba(0,0,0,.32)!important}.question h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;line-height:1.32}.option{transition:.18s ease}.option:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(0,0,0,.16)}

@media(max-width:900px){.lbp-entry-grid,.teacher-login-shell{grid-template-columns:1fr!important}.lbp-entry-copy{padding:42px 32px}.lbp-entry-actions,.teacher-login-main,.teacher-login-side{padding:36px 28px}.teacher-content{padding:20px 18px 40px!important}}
@media(max-width:760px){.teacher-app-shell{display:block!important}.teacher-sidebar{background:#102957!important}.teacher-topbar{padding:12px 16px!important}.teacher-content{padding:16px 12px 36px!important}.dashboard-welcome{padding:20px!important}.dashboard-metrics{grid-template-columns:1fr 1fr!important}.quick-actions{grid-template-columns:1fr!important}}
@media(max-width:520px){.dashboard-metrics{grid-template-columns:1fr!important}.lbp-entry-copy h1{font-size:38px}.lbp-entry-actions{padding:30px 22px}}
