/* ==========================================================================
   painel-v3.css: identidade visual v3 na área do aluno (painel e hubs).
   Carregado DEPOIS do <style> de cada página, então sobrescreve o visual
   antigo (azul #1a2744 + dourado) sem mexer no funcionamento.
   Cores: azul #172D40, branco frio #F4F7FA, verde lima #BBD87A, névoa #D8E4EE.
   Regra: texto azul sobre o verde; verde só sobre fundo azul ou como preenchimento.
   ========================================================================== */
:root{
  --v3-az:#172D40; --v3-az2:#20394F; --v3-br:#F4F7FA; --v3-ve:#BBD87A; --v3-ve2:#C9E192;
  --v3-ne:#D8E4EE; --v3-ne2:#E4ECF3; --v3-su:#4A5D6E; --v3-suE:#C9D6E2;
  --v3-t:Manrope,system-ui,sans-serif; --v3-c:"Source Sans 3",system-ui,sans-serif;
}

/* ───────────────────────── Painel (index.html, #screen-dashboard) ───────── */
#screen-dashboard{background:var(--v3-br)!important;font-family:var(--v3-c);color:var(--v3-az)}
#screen-dashboard .dash-topbar{background:#fff;border-bottom:1px solid var(--v3-ne);box-shadow:none;height:72px;padding:0 32px}
#screen-dashboard .dash-logo{height:34px;width:auto;display:block}
#screen-dashboard .dash-topbar-sep{background:var(--v3-ne);height:30px}
#screen-dashboard .dash-topbar-title{font:700 13px var(--v3-t);letter-spacing:.12em;color:var(--v3-su)}
#screen-dashboard .dash-avatar{background:var(--v3-ve);color:var(--v3-az);font-family:var(--v3-t);width:38px;height:38px}
#screen-dashboard .dash-user-name{color:var(--v3-az);font:700 15px var(--v3-t)}
#screen-dashboard .btn-sair{color:var(--v3-az);border:2px solid var(--v3-az);border-radius:999px;font:700 13px var(--v3-t);letter-spacing:.02em;text-transform:none;padding:7px 18px}
#screen-dashboard .btn-sair:hover{background:var(--v3-az);color:#fff}

#screen-dashboard .dash-body{max-width:1180px;padding:32px 24px 56px}
#screen-dashboard .welcome-banner{background:var(--v3-az);border:0;border-radius:28px;padding:40px 44px;box-shadow:none;margin-bottom:32px}
#screen-dashboard .welcome-text h2{font:800 34px/1.15 var(--v3-t);color:#fff;margin-bottom:6px}
#screen-dashboard .welcome-text p{font-size:17px;color:var(--v3-suE);letter-spacing:0}
#screen-dashboard .banner-quick-btns{gap:10px;margin-top:18px}
#screen-dashboard .banner-quick-btn{border-radius:999px;padding:9px 18px;font:700 14px var(--v3-t);letter-spacing:0;text-transform:none;color:#fff;border:2px solid rgba(244,247,250,.35);background:transparent}
#screen-dashboard .banner-quick-btn:hover{background:var(--v3-ve);border-color:var(--v3-ve);color:var(--v3-az)}
#screen-dashboard .banner-quick-btn svg{width:15px;height:15px}
#screen-dashboard .welcome-badge{background:var(--v3-ve);border:0;color:var(--v3-az);font:800 13px var(--v3-t);letter-spacing:.08em;padding:8px 18px}

#screen-dashboard .section-heading{font:800 13px var(--v3-t);letter-spacing:.1em;color:var(--v3-su);margin-bottom:16px}
#screen-dashboard .section-heading::after{background:var(--v3-ne)}
#screen-dashboard .cat-note{font-size:14px;color:var(--v3-su);margin:-6px 0 14px}
#screen-dashboard .hubs-grid{gap:16px}
#screen-dashboard .hub-card{border:1px solid var(--v3-ne);border-radius:22px;padding:22px 24px;box-shadow:none}
#screen-dashboard .hub-card:hover{border-color:var(--v3-az);box-shadow:0 10px 26px rgba(23,45,64,.08)}
#screen-dashboard .hub-icon{background:var(--v3-az);border-radius:16px;width:50px;height:50px}
#screen-dashboard .hub-icon svg{fill:var(--v3-ve);opacity:1}
#screen-dashboard .hub-title{font:800 17px var(--v3-t);color:var(--v3-az)}
#screen-dashboard .hub-sub{font-size:14px;color:var(--v3-su)}
#screen-dashboard .hub-card:hover .hub-arrow{color:var(--v3-az)}
#screen-dashboard .hub-card.hub-warn{background:#F2F7E6;border-color:var(--v3-ve)}
#screen-dashboard .hub-card.hub-warn .hub-icon{background:var(--v3-ve)}
#screen-dashboard .hub-card.hub-warn .hub-icon svg{fill:var(--v3-az)}
#screen-dashboard .hub-card.hub-warn:hover{border-color:var(--v3-az);box-shadow:0 10px 26px rgba(23,45,64,.08)}
#screen-dashboard .hub-icon-avisos{background:var(--v3-ve)!important}
#screen-dashboard .hub-icon-avisos svg{fill:var(--v3-az)!important}
#screen-dashboard .hub-icon-plano{background:var(--v3-az)!important}
#screen-dashboard .hub-icon-plano svg{fill:var(--v3-ve)!important}
#screen-dashboard .hub-locked{border-radius:22px}
#screen-dashboard .state-box{border:1px solid var(--v3-ne);border-radius:22px;color:var(--v3-su)}

#screen-dashboard .postspace-box{border:0;border-radius:28px;padding:28px 30px;background:#fff;box-shadow:inset 0 0 0 2px var(--v3-ve)}
#screen-dashboard .postspace-title{font:800 18px var(--v3-t);color:var(--v3-az)}
#screen-dashboard .postspace-tag{background:var(--v3-ve);color:var(--v3-az);font:800 12px var(--v3-t);letter-spacing:.06em}
#screen-dashboard .post-card{background:var(--v3-br);border:1px solid var(--v3-ne);border-radius:16px;padding:14px 16px}
#screen-dashboard .post-card:hover{border-color:var(--v3-az);box-shadow:none}
#screen-dashboard .post-icon{background:var(--v3-az);border-radius:12px;width:36px;height:36px}
#screen-dashboard .post-icon svg{fill:var(--v3-ve)}
#screen-dashboard .post-title{font:700 15px var(--v3-t);color:var(--v3-az)}
#screen-dashboard .post-desc{font-size:13px;color:var(--v3-su)}
#screen-dashboard .post-date{font-size:12px;color:var(--v3-su)}

#screen-dashboard .game-card{border-radius:22px;box-shadow:none;padding:20px}
#screen-dashboard .game-title{font:800 16px/1.25 var(--v3-t)}
#screen-dashboard .game-sub{font-size:13px}
#screen-dashboard .game-card.cor-purple{background:var(--v3-az);color:#fff}
#screen-dashboard .game-card.cor-purple .game-icon svg{fill:var(--v3-ve)}
#screen-dashboard .game-card.cor-gold{background:var(--v3-ve);color:var(--v3-az)}
#screen-dashboard .game-card.cor-gold .game-icon svg{fill:var(--v3-az)}
#screen-dashboard .game-card.cor-teal{background:var(--v3-ne);color:var(--v3-az)}
#screen-dashboard .game-card.cor-teal .game-icon svg{fill:var(--v3-az)}
@media(max-width:600px){
  #screen-dashboard .dash-topbar{padding:0 16px;height:64px}
  #screen-dashboard .dash-logo{height:26px}
  #screen-dashboard .dash-topbar-sep,#screen-dashboard .dash-topbar-title,#screen-dashboard .dash-user-name{display:none}
  #screen-dashboard .dash-body{padding:16px 16px 32px}
  #screen-dashboard .welcome-banner{border-radius:22px;padding:26px 22px}
  #screen-dashboard .welcome-text h2{font-size:26px}
  #screen-dashboard .welcome-text p{font-size:16px}
  #screen-dashboard .postspace-box{border-radius:22px;padding:22px 18px}
}

/* ───────────────────────── Hubs (planners, homework, in class) ─────────── */
body.v3-hub{background:var(--v3-br)!important;font-family:var(--v3-c)!important;color:var(--v3-az)!important}
body.v3-hub .top-nav{background:#fff!important;border-bottom:1px solid var(--v3-ne)!important;box-shadow:none!important;min-height:72px}
body.v3-hub .v3-hub-logo{height:30px;width:auto;display:block}
body.v3-hub .btn-voltar{color:var(--v3-az)!important;border:2px solid var(--v3-az)!important;background:transparent!important;border-radius:999px!important;font:700 14px var(--v3-t)!important}
body.v3-hub .btn-voltar:hover{background:var(--v3-az)!important;color:#fff!important}
body.v3-hub .nav-title{color:var(--v3-su)!important;font:700 14px var(--v3-t)!important}
body.v3-hub .btn-menu-mobile{background:var(--v3-ve)!important;color:var(--v3-az)!important;border-radius:999px!important;font:800 14px var(--v3-t)!important}
body.v3-hub .btn-menu-mobile:hover{background:var(--v3-ve2)!important}

body.v3-hub .hero-card{background:var(--v3-az)!important;border-radius:28px!important;box-shadow:none!important}
body.v3-hub .hero-card::before{display:none!important}
body.v3-hub .hero-bg{display:none!important}
body.v3-hub .hero-content{padding:40px 44px 36px!important}
body.v3-hub .hero-meta{color:var(--v3-suE)!important;font:700 12px var(--v3-t)!important;letter-spacing:.14em!important}
body.v3-hub .hero-title{font-family:var(--v3-t)!important;font-weight:800!important;font-size:2.4rem!important;letter-spacing:-.01em;color:#fff!important}
body.v3-hub .hero-title .title-gold{color:var(--v3-ve)!important}
body.v3-hub .hero-sub{color:var(--v3-suE)!important;font-size:1.05rem!important}
body.v3-hub .hbadge{border-radius:999px!important;font-family:var(--v3-t)!important;letter-spacing:.06em!important;padding:5px 13px!important}
body.v3-hub .hbadge-level{background:transparent!important;color:#fff!important;border:1.5px solid rgba(244,247,250,.35)!important}
body.v3-hub .hbadge-gold{background:var(--v3-ve)!important;color:var(--v3-az)!important;border:0!important}
body.v3-hub header{border-radius:28px!important;box-shadow:none!important;background-image:none!important;background-color:var(--v3-az)!important}
body.v3-hub header::after{display:none!important}
body.v3-hub header h1{font-family:var(--v3-t)!important;text-shadow:none!important}

body.v3-hub .sidebar{border:1px solid var(--v3-ne)!important;border-radius:22px!important;box-shadow:none!important}
body.v3-hub .sidebar-block h3,body.v3-hub .section-label{font:800 12px var(--v3-t)!important;letter-spacing:.12em!important;color:var(--v3-su)!important}
body.v3-hub .search-box input{border:1.5px solid var(--v3-ne)!important;border-radius:14px!important;background:var(--v3-br)!important;font-family:var(--v3-c)!important}
body.v3-hub .search-box input:focus{border-color:var(--v3-az)!important;background:#fff!important}
body.v3-hub .nav-week-link{color:var(--v3-az)!important;border-radius:12px!important;font-family:var(--v3-t)!important;font-weight:600!important}
body.v3-hub .nav-week-link:hover{background:var(--v3-ne2)!important;padding-left:12px!important}
body.v3-hub .btn-sidebar-toggle{background:var(--v3-ne2)!important;color:var(--v3-az)!important;border-radius:12px!important;font-family:var(--v3-t)!important}
body.v3-hub .btn-sidebar-toggle:hover{background:var(--v3-ne)!important}
body.v3-hub #archive-nav-list{border-left-color:var(--v3-ne)!important}

body.v3-hub .module{border:1px solid var(--v3-ne)!important;border-radius:22px!important;box-shadow:none!important}
body.v3-hub .module:not(.week-locked):hover{transform:none!important;border-color:#B9CCDC!important}
body.v3-hub .module-header{background:#fff!important;border-bottom:1px solid var(--v3-ne)!important;color:var(--v3-az)!important;font:800 1.2rem var(--v3-t)!important}
body.v3-hub .module.archived{border-left:6px solid var(--v3-ve)!important}
body.v3-hub .lesson-item{border-bottom-color:var(--v3-ne)!important}
body.v3-hub .lesson-item:hover{background:var(--v3-br)!important}
body.v3-hub .lesson-item::before{background:var(--v3-ve)!important}
body.v3-hub .lesson-title{color:var(--v3-az)}
body.v3-hub .btn-status{border-radius:999px!important;border:1.5px solid var(--v3-ne)!important;color:var(--v3-su)!important;font:800 12px var(--v3-t)!important;letter-spacing:.06em!important}
body.v3-hub .btn-status-fill{background:rgba(187,216,122,.5)!important}
body.v3-hub .lesson-item.progress .btn-status{border-color:var(--v3-ve)!important;color:var(--v3-az)!important}
body.v3-hub .lesson-item.done{background:#F2F7E6!important}
body.v3-hub .lesson-item.done .btn-status{border-color:var(--v3-ve)!important;color:var(--v3-az)!important}
body.v3-hub .lesson-item.done .btn-status-fill{background:var(--v3-ve)!important}
body.v3-hub .sidebar-backdrop{background:rgba(23,45,64,.45)!important}
@media(max-width:850px){
  body.v3-hub .sidebar{border-radius:0 22px 22px 0!important}
}
@media(max-width:600px){
  body.v3-hub .top-nav{padding:10px 16px!important;min-height:64px}
  body.v3-hub .nav-title{display:none}
  body.v3-hub .v3-hub-logo{height:24px}
  body.v3-hub .hero-card{border-radius:22px!important}
  body.v3-hub .hero-content{padding:26px 22px!important}
  body.v3-hub .hero-title{font-size:1.75rem!important}
}

/* variações de topo em hubs específicos */
body.v3-hub .nav-left-group > div,body.v3-hub .nav-left-group > div span{color:var(--v3-az)!important}
body.v3-hub .nav-sep{background:var(--v3-ne)!important}
