/* =========================================================
   DESAFIO MATEMÁTICO — RESPONSIVIDADE GLOBAL v1.4.3
   Arquivo novo e independente para evitar cache/conflitos.
   ========================================================= */

.mobile-menu-btn,.mobile-nav-head,.mobile-nav-overlay{display:none}

@media (max-width:900px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%}
  body{font-size:16px!important}
  body.mobile-nav-open{overflow:hidden!important}

  /* ================= ADMIN + ALUNO: ESTRUTURA ================= */
  .admin-layout,.student-shell{display:block!important;width:100%!important;max-width:100%!important;min-height:100svh!important;height:auto!important;overflow:visible!important}
  .main,.student-app{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;height:auto!important;min-height:100svh!important;overflow:visible!important}

  /* Sidebar vira off-canvas */
  .sidebar,.student-side{
    position:fixed!important;inset:0 auto 0 0!important;z-index:5000!important;
    display:flex!important;flex-direction:column!important;
    width:min(86vw,340px)!important;max-width:340px!important;height:100svh!important;
    padding:0 14px 18px!important;margin:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    transform:translateX(-110%)!important;transition:transform .24s ease!important;
    background:linear-gradient(180deg,#071d3a 0%,#05162b 100%)!important;
    box-shadow:18px 0 48px rgba(0,0,0,.38)!important;
  }
  body.mobile-nav-open .sidebar,body.mobile-nav-open .student-side{transform:translateX(0)!important}

  .mobile-nav-head{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:68px!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.10)!important;font-size:16px!important;font-weight:800!important}
  .mobile-nav-close{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;font-size:30px!important;line-height:1!important}
  .mobile-nav-overlay{display:block!important;position:fixed!important;inset:0!important;z-index:4990!important;background:rgba(1,8,20,.62)!important;backdrop-filter:blur(3px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.22s ease!important}
  body.mobile-nav-open .mobile-nav-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

  .side-logo,.student-side-logo{display:block!important;text-align:center!important;padding:16px 4px 14px!important;margin:0!important}
  .side-logo img,.student-side-logo img{display:block!important;width:138px!important;max-width:138px!important;height:auto!important;margin:0 auto!important;background:#fff!important;border-radius:12px!important;padding:5px!important}
  .side-logo small{display:none!important}
  .sidebar-motto,.student-side-motto,.sidebar-space-art{display:none!important}

  .sidebar .nav,.student-side .student-nav{display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;padding:4px 0!important;margin:0!important;overflow:visible!important}
  .sidebar .nav a,.student-side .student-nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;min-height:54px!important;padding:13px 14px!important;gap:12px!important;border-radius:13px!important;font-size:16px!important;white-space:normal!important}
  .sidebar .nav a span,.student-side .student-nav a span{display:inline!important;white-space:normal!important}
  .sidebar .nav a svg,.student-side .student-nav a svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
  .sidebar-footer{display:block!important;margin-top:auto!important;padding-top:12px!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .sidebar-footer a{display:flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;padding:12px 14px!important;font-size:16px!important;color:#d6e6f4!important}
  .sidebar-footer span{display:inline!important}

  /* Barra superior mobile */
  .topbar,.student-topbar{position:sticky!important;top:0!important;z-index:1200!important;display:flex!important;align-items:center!important;width:100%!important;max-width:100%!important;min-height:68px!important;height:auto!important;padding:10px 12px!important;gap:10px!important;margin:0!important}
  .topbar{background:#fff!important;border-bottom:1px solid #e4ebf3!important}
  .student-topbar{background:#061831!important;border-bottom:1px solid #153a5d!important}
  .mobile-menu-btn{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:0!important;gap:5px!important;border-radius:13px!important;border:1px solid #d8e5f1!important;background:#eef6ff!important}
  .student-topbar .mobile-menu-btn{background:#0b2947!important;border-color:#24547c!important}
  .mobile-menu-btn span{display:block!important;width:22px!important;height:2.5px!important;border-radius:99px!important;background:#174477!important}
  .student-topbar .mobile-menu-btn span{background:#d8ebfa!important}

  .top-search,.student-searchlike{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important;height:48px!important;margin:0!important}
  .top-search input{width:100%!important;min-width:0!important;min-height:48px!important;font-size:16px!important}
  .student-searchlike{display:flex!important;align-items:center!important;padding:0 12px!important;font-size:14px!important;overflow:hidden!important}
  .student-searchlike span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .top-actions{display:none!important}
  .student-account{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin-left:auto!important}
  .student-account>div:not(.student-avatar),.student-account>svg,.student-bell{display:none!important}
  .student-avatar{width:44px!important;height:44px!important;font-size:16px!important}

  /* Conteúdo ocupa 100% */
  .content,.student-main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:18px 14px 30px!important;margin:0!important;overflow:visible!important}
  .dashboard-heading,.page-title{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:16px!important;width:100%!important}
  .dashboard-heading h1,.page-title h1{font-size:28px!important;line-height:1.1!important;margin:0!important}
  .dashboard-heading p,.page-title p{font-size:15px!important;line-height:1.5!important;margin:4px 0 0!important}
  .page-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important}
  .page-actions .btn{width:100%!important}

  /* Form controls maiores */
  .btn{min-height:52px!important;padding:0 17px!important;font-size:16px!important;border-radius:12px!important}
  .btn-sm{min-height:44px!important;font-size:14px!important}
  .input,.select,.textarea,select,textarea{min-height:52px!important;font-size:16px!important;border-radius:12px!important}
  .textarea{min-height:130px!important}
  .field label{font-size:14px!important;margin-bottom:7px!important}

  /* Grids */
  .grid,.grid-2,.grid-3,.grid-4,.filters,.builder-filters,.game-top,.settings-grid,.danger-grid,.access-data,.design-grid,.student-dashboard-grid,.dashboard-columns,.kpis,.student-kpis,.question-stats-grid,.admin-access-summary{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:12px!important}

  /* Cards */
  .card,.dashboard-card,.student-card,.settings-card,.game-builder,.danger-zone,.kpi,.student-kpi,.question-stat-card{width:100%!important;max-width:100%!important;min-width:0!important;padding:16px!important;border-radius:16px!important;overflow-wrap:anywhere!important}
  .kpi,.student-kpi{min-height:100px!important}
  .kpi strong,.student-kpi strong{font-size:30px!important}

  /* Tabelas */
  .table-wrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:14px!important}
  .table{min-width:760px!important;width:max-content!important}
  .table th,.table td{font-size:13px!important;padding:12px 11px!important}
  .actions{display:flex!important;gap:7px!important;flex-wrap:nowrap!important}
  .action{width:42px!important;height:42px!important;border-radius:10px!important}
  .action svg{width:18px!important;height:18px!important}

  /* ADMIN LOGIN */
  .admin-login-wrap{min-height:100svh!important;padding:20px 14px!important}
  .admin-login-card{width:100%!important;max-width:460px!important;padding:26px 20px 22px!important;border-radius:20px!important}
  .admin-login-logo img{width:132px!important}
  .admin-login-card h1{font-size:30px!important}
  .admin-login-card>p{font-size:15px!important}
  .admin-login-submit{min-height:54px!important;font-size:17px!important}

  /* ================= ÁREA DO ALUNO ================= */
  .student-hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;padding:20px!important;border-radius:18px!important;gap:14px!important;background-position:70% center!important}
  .student-hero h1{font-size:31px!important;line-height:1.1!important}
  .student-hero p{font-size:15px!important;line-height:1.5!important}
  .student-hero-action{width:100%!important;margin:2px 0 0!important}
  .student-hero-action .btn{width:100%!important;min-height:58px!important;font-size:17px!important}
  .student-dashboard-grid{display:grid!important}
  .achievement-list{grid-template-columns:1fr!important}

  /* Respostas/revisão: força legibilidade */
  .student-main .table-wrap{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  .student-main .table{display:block!important;min-width:0!important;width:100%!important;background:transparent!important}
  .student-main .table thead{display:none!important}
  .student-main .table tbody{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}
  .student-main .table tr{display:block!important;width:100%!important;padding:16px!important;border:1px solid rgba(74,130,184,.35)!important;border-radius:16px!important;background:#0b2748!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
  .student-main .table td{display:flex!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-width:0!important;padding:8px 0!important;border:0!important;font-size:15px!important;line-height:1.45!important;white-space:normal!important;color:#e5f2ff!important}
  .student-main .table td:first-child{padding-top:0!important}
  .student-main .table td:last-child{padding-bottom:0!important}

  /* ================= JOGO ================= */
  .game-wrap{width:100%!important;max-width:100%!important;padding:16px 12px 30px!important}
  .game-top{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .hud-box{padding:13px!important;border-radius:14px!important;min-height:78px!important}
  .hud-box small{font-size:13px!important}.hud-box b{font-size:22px!important}
  .game-card{width:100%!important;padding:20px 16px!important;border-radius:18px!important}
  .game-card h2{font-size:25px!important;line-height:1.35!important;margin:18px 0!important}
  .options{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}
  .options form{width:100%!important}
  .option-btn{position:relative!important;width:100%!important;min-height:64px!important;padding:15px 48px 15px 16px!important;border-radius:14px!important;font-size:17px!important;line-height:1.4!important;text-align:left!important}
  .option-btn.correct{background:#0f7a4d!important;border:2px solid #42e99a!important;color:#fff!important;box-shadow:0 0 0 3px rgba(66,233,154,.15)!important}
  .option-btn.correct:after{content:'✓'!important;position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#39e995!important;color:#053a25!important;font-size:20px!important;font-weight:900!important}
  .option-btn.wrong{background:#7c2430!important;border:2px solid #ff697a!important;color:#fff!important;box-shadow:0 0 0 3px rgba(255,105,122,.14)!important}
  .option-btn.wrong:after{content:'✕'!important;position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#ff697a!important;color:#4a0912!important;font-size:17px!important;font-weight:900!important}
  .feedback-box{padding:16px!important;border-radius:14px!important;font-size:18px!important;line-height:1.45!important;font-weight:800!important}
  .feedback-box.success,.feedback-box.correct{background:#0f6f48!important;border:2px solid #3ae596!important;color:#fff!important}
  .feedback-box.error,.feedback-box.wrong{background:#76202c!important;border:2px solid #ff697a!important;color:#fff!important}
  .explain-box,.hint-box{padding:16px!important;border-radius:14px!important;font-size:16px!important;line-height:1.55!important}
  .game-actions{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
  .game-actions>*{width:100%!important}.game-actions .btn{width:100%!important}

  /* LOGIN PÚBLICO */
  .login-stage{display:flex!important;flex-direction:column!important;width:100%!important;min-height:100svh!important;padding:20px 16px 28px!important;gap:16px!important;align-items:stretch!important;justify-content:flex-start!important}
  .login-hero-left{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;text-align:center!important;gap:10px!important;padding:6px!important}
  .login-brand-block{display:flex!important;justify-content:center!important;margin:0!important}.login-brand-logo{width:96px!important;max-width:96px!important}
  .login-copy{width:100%!important;max-width:none!important;text-align:center!important}
  .login-copy h2 .login-copy-main{font-size:clamp(26px,7vw,32px)!important;white-space:normal!important}.login-copy h2 .login-copy-script{font-size:clamp(36px,10vw,44px)!important}
  .login-copy p{display:block!important;max-width:300px!important;margin:10px auto 0!important;font-size:15px!important;line-height:1.45!important}
  .login-card,.login-card-rebuilt{width:100%!important;max-width:100%!important;margin:6px 0 0!important;padding:22px 18px 18px!important;border-radius:18px!important}
  .login-card-rebuilt h1{font-size:31px!important}.login-card-rebuilt .sub{font-size:14px!important;max-width:300px!important;margin:0 auto 16px!important}
  .login-form-rebuilt .input{height:54px!important;font-size:16px!important}.login-main-cta{height:56px!important;font-size:17px!important}
  .login-bottom-cards{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:12px!important;margin:2px 0 0!important;padding:0!important;overflow:visible!important}
  .login-stat-card{width:100%!important;min-width:0!important;padding:14px!important;border-radius:16px!important}
  .login-project-credit{position:static!important;transform:none!important;width:100%!important;margin:0!important;padding:10px 12px 4px!important;font-size:12px!important;text-align:center!important}
}

@media(max-width:420px){
  .content,.student-main{padding-left:10px!important;padding-right:10px!important}
  .topbar,.student-topbar{padding-left:8px!important;padding-right:8px!important}
  .mobile-menu-btn{flex-basis:46px!important;width:46px!important;height:46px!important}
  .dashboard-heading h1,.page-title h1{font-size:26px!important}
  .game-top{grid-template-columns:1fr 1fr!important}
  .game-card h2{font-size:23px!important}
  .option-btn{font-size:16px!important}
}

/* =========================================================
   PATCH v1.4.4 — menu mobile full-screen + perguntas mobile
   ========================================================= */

.question-mobile-list{display:none}

@media (max-width:900px){
  /* Menu mobile mais limpo e sem conteúdo aparecendo por trás */
  .sidebar,.student-side{
    width:100vw!important;
    max-width:100vw!important;
    padding:0 16px 24px!important;
  }
  .mobile-nav-head{
    position:sticky!important;
    top:0!important;
    z-index:8!important;
    background:linear-gradient(180deg,#071d3a 0%,#061a33 100%)!important;
    padding:10px 0!important;
  }
  .side-logo,.student-side-logo{
    padding:18px 0!important;
    margin:0 0 10px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .side-logo img,.student-side-logo img{
    width:154px!important;
    max-width:154px!important;
  }
  .sidebar .nav,.student-side .student-nav{
    gap:8px!important;
    padding:4px 0 0!important;
  }
  .sidebar-footer{padding:14px 0 0!important}

  /* Perguntas e listagens admin mais legíveis */
  .content .table-wrap{border-radius:16px!important}
  .content .table{min-width:980px!important}
  .content .table th,.content .table td{font-size:14px!important;line-height:1.45!important;padding:13px 12px!important}

  .question-mobile-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-top:14px!important;
  }
  .questions-table{display:none!important}
  .question-mobile-card{
    display:block!important;
    background:#fff!important;
    border:1px solid #dfe8f2!important;
    border-radius:18px!important;
    padding:16px!important;
    box-shadow:0 8px 24px rgba(31,68,113,.08)!important;
  }
  .question-mobile-card.empty{
    text-align:center!important;
    color:#54708e!important;
    font-size:15px!important;
    padding:22px 18px!important;
  }
  .question-mobile-top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:10px!important;
  }
  .question-mobile-code{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:64px!important;
    min-height:34px!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:#eef5fb!important;
    color:#123c6d!important;
    font-weight:800!important;
    font-size:14px!important;
  }
  .question-mobile-statement{
    color:#123055!important;
    font-size:16px!important;
    line-height:1.55!important;
    font-weight:700!important;
    margin-bottom:12px!important;
  }
  .question-mobile-meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-bottom:14px!important;
  }
  .question-mobile-meta div{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    background:#f7fbff!important;
    border:1px solid #e3edf8!important;
  }
  .question-mobile-meta b{
    color:#496887!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
  }
  .question-mobile-meta span{
    color:#123055!important;
    font-size:15px!important;
    line-height:1.45!important;
  }
  .question-mobile-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .question-mobile-actions form{margin:0!important}
  .question-mobile-actions .btn{
    width:100%!important;
    justify-content:center!important;
  }
}

@media (min-width:901px){
  .question-mobile-list{display:none!important}
}

/* =========================================================
   FASES DO JOGO — MOBILE v1.4.6
   ========================================================= */
@media(max-width:900px){
  .phase-rule-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .phase-rule-card{padding:17px!important;border-radius:18px!important}
  .phase-rule-title strong{font-size:23px!important}.phase-rule-title span{font-size:12px!important}
  .phase-rule-row{grid-template-columns:minmax(0,1fr) 112px!important;gap:10px!important}
  .phase-rule-card .input,.phase-rule-card .select{min-height:54px!important;font-size:16px!important}
  .phase-rule-card .phase-rule-row .input{font-size:21px!important}

  .game-wrap{padding:14px 10px 28px!important}
  .game-slogan{text-align:center!important;font-size:12px!important;margin-bottom:10px!important}
  .phase-intro-card{margin:4vh 0 0!important;padding:26px 18px!important;border-radius:20px!important}
  .phase-intro-card h1{font-size:38px!important;margin:10px 0 9px!important}.phase-intro-card p{font-size:17px!important;line-height:1.5!important}.phase-intro-kicker{font-size:12px!important}.phase-start-btn{width:100%!important;min-height:58px!important;font-size:17px!important}
  .phase-intro-meta{font-size:14px!important;gap:8px!important}

  .game-phase-banner{padding:16px!important;border-radius:17px!important;margin-bottom:12px!important}
  .game-phase-main{align-items:flex-start!important;gap:12px!important}.game-phase-main h1{font-size:28px!important;margin:5px 0!important}.game-phase-main p{font-size:15px!important;line-height:1.45!important}.game-phase-kicker{font-size:11px!important}
  .game-phase-count{min-width:88px!important;padding:9px 8px!important}.game-phase-count strong{font-size:21px!important}
  .game-phase-labels{grid-template-columns:1fr!important;gap:4px!important}.game-phase-labels span{font-size:11px!important}
  .game-top{grid-template-columns:1fr 1fr!important;gap:9px!important}.hud-box{min-height:76px!important;padding:11px!important}.hud-box small{font-size:12px!important}.hud-box b{font-size:20px!important}
  .game-card{padding:18px 14px!important}.game-question-head{flex-direction:column!important;align-items:flex-start!important}.game-card h2{font-size:24px!important;line-height:1.42!important;margin:17px 0!important}
  .phase-mini-progress>span{font-size:13px!important}.phase-mini-progress>div{height:8px!important}
  .option-btn{min-height:68px!important;font-size:17px!important;line-height:1.4!important;padding:15px 50px 15px 16px!important}
  .feedback-box{font-size:17px!important;padding:16px!important}.feedback-copy strong{font-size:19px!important}
  .game-secondary-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.game-secondary-actions form,.game-secondary-actions .btn{width:100%!important}
}

@media(max-width:420px){
  .phase-rule-row{grid-template-columns:1fr!important}
  .game-phase-main{flex-direction:column!important}.game-phase-count{width:100%!important;text-align:left!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.game-phase-count small,.game-phase-count strong{display:inline!important;margin:0!important}
  .phase-intro-card h1{font-size:34px!important}
}
