
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800;900&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
*{font-family:'Nunito',system-ui,sans-serif}
body{background:#EEF2FF;min-height:100vh;padding-bottom:50px}body.user-logged{padding-bottom:calc(60px + env(safe-area-inset-bottom))}

/* ââ MOBILE NAV BAR ââ */
#mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#0038A8;border-top:1px solid rgba(255,255,255,.15);padding:0 0 env(safe-area-inset-bottom)}
#mobile-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.55rem .25rem;color:rgba(255,255,255,.6);font-size:.6rem;font-weight:600;cursor:pointer;border:none;background:none;transition:color .15s;min-width:0;white-space:nowrap}
#mobile-nav a.nav-active{color:#F9DD16}
#mobile-nav a i{font-size:1.1rem}
#mobile-nav a span{font-size:.58rem}
#mobile-nav-more{position:fixed;bottom:60px;right:0;left:0;z-index:199;background:#002B85;border-top:1px solid rgba(255,255,255,.15);display:none;flex-wrap:wrap;padding:.5rem}
#mobile-nav-more a{display:flex;flex-direction:column;align-items:center;gap:3px;width:25%;padding:.65rem .25rem;color:rgba(255,255,255,.75);font-size:.6rem;font-weight:600;cursor:pointer;border:none;background:none}
#mobile-nav-more a.nav-active{color:#F9DD16}
#mobile-nav-more a i{font-size:1rem}
#mobile-nav-more.open{display:flex}
@media(max-width:768px){.agenda-main-grid{grid-template-columns:1fr!important;}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  body.user-logged #mobile-nav{display:flex}
  .bb-header .nav-desktop{display:none!important}
  #app-content-wrap{padding:.75rem .65rem}
  /* BUG #11 FIX: footer oculto no mobile para nÃ£o sobrepor nav bar */
  footer{display:none!important}
}
@media(min-width:769px){
  #mobile-nav{display:none!important}
}

/* -- CABECALHO PREMIUM -- */
.bb-header{
  background:linear-gradient(110deg,#0038A8 0%,#002B85 55%,#001A55 100%);
  position:sticky!important;
  top:0;
  z-index:50;
  width:100%;
  max-width:100vw;
  overflow:hidden;
  box-sizing:border-box;
  box-shadow:0 8px 32px rgba(0,0,0,.35),0 2px 0 rgba(249,221,22,.18);
}
.bb-header::before{
  content:'';position:absolute;inset:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 85% 50%, rgba(255,255,255,.07) 0%, transparent 40%),
    radial-gradient(circle at 15% 50%, rgba(249,221,22,.06) 0%, transparent 35%),
    radial-gradient(circle at 50% -20%, rgba(255,255,255,.05) 0%, transparent 50%);
}
.hdr-pill{max-width:120px;overflow:hidden;
  display:flex;align-items:center;gap:.45rem;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.16);
  border-radius:2rem;padding:.38rem .8rem;
  cursor:pointer;transition:background .2s;flex-shrink:0;
}
.hdr-pill:hover{background:rgba(255,255,255,.2)}
.hdr-avatar{
  width:38px;height:38px;background:#F9DD16;color:#0038A8;
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:.9rem;cursor:pointer;
  border:2px solid rgba(255,255,255,.3);
  box-shadow:0 2px 10px rgba(0,0,0,.3);
  transition:transform .15s,box-shadow .15s;flex-shrink:0;
}
.hdr-avatar:hover{transform:scale(1.07);box-shadow:0 4px 18px rgba(0,0,0,.4)}
.hdr-xp-track{width:54px;height:5px;border-radius:9999px;background:rgba(255,255,255,.18);overflow:hidden}
.hdr-xp-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,#22c55e,#F9DD16);transition:width 1s ease}
.bb-header .nav-desktop{
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.15);
  overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.bb-header .nav-desktop::-webkit-scrollbar{display:none;height:0}
.bb-header .nav-desktop .nav-inner{
  padding:0 1rem;
  display:flex;align-items:center;
  width:max-content;min-width:100%;gap:0;
  flex-wrap:nowrap;
}
.nav-item{
  display:flex;align-items:center;gap:.38rem;
  padding:.62rem .65rem;
  border-bottom:3px solid transparent;
  cursor:pointer;font-size:.73rem;font-weight:600;
  white-space:nowrap;color:rgba(255,255,255,.72);
  transition:color .15s,border-color .15s;
  text-decoration:none;
}
.nav-item:hover{color:rgba(255,255,255,.95)}
.nav-item i{font-size:.78rem}
.nav-active{border-bottom:3px solid #F9DD16!important;color:#F9DD16!important}
.card{transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 24px 40px -8px rgba(0,56,168,.18)}
.progress-bar{transition:width 1.1s cubic-bezier(.4,0,.2,1)}
.level-bar{height:10px;border-radius:9999px;background:#e5e7eb;overflow:hidden}
.level-bar-fill{height:100%;background:linear-gradient(90deg,#0038A8,#F9DD16);border-radius:9999px;transition:width 1s ease}
.screen{animation:fadeIn .2s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes popIn{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.shake{animation:shake .4s ease}

/* AUTH */
#auth-screen{min-height:100vh;background:linear-gradient(145deg,#0038A8,#002B85,#001A55);display:flex;align-items:center;justify-content:center;padding:1.5rem;position:fixed;inset:0;z-index:9999;width:100%;overflow-y:auto;overflow-x:hidden}
#auth-screen::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(249,221,22,.08),transparent 60%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.05),transparent 50%)}
.auth-card{background:white;border-radius:1.75rem;padding:2.5rem 2rem;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.auth-tab{flex:1;padding:.65rem;border-radius:.75rem;font-weight:600;font-size:.8rem;transition:all .2s;cursor:pointer;border:none;background:transparent;color:#6b7280}
.auth-tab.active{background:#0038A8;color:white}
.auth-tab-bar{background:#f3f4f6;border-radius:.9rem;padding:4px;display:flex;gap:4px}
.pass-wrap{position:relative;margin-top:.3rem}
.pass-wrap input{width:100%;padding:.75rem 3rem .75rem 1rem;border:2px solid #e5e7eb;border-radius:.85rem;font-size:.9rem}
.pass-wrap .eye-btn{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.95rem;padding:.2rem;transition:color .15s}
.pass-wrap .eye-btn:hover{color:#0038A8}

/* MODALS */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(5px);z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-box{background:white;border-radius:1.5rem;padding:2rem;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 30px 60px rgba(0,0,0,.3);animation:popIn .2s ease-out;max-height:92vh;overflow-y:auto}
.modal-wide{max-width:min(900px,96vw)}

/* BUTTONS */
.btn-bb{background:#0038A8;color:white}.btn-bb:hover{background:#002B85}
.btn-y{background:#F9DD16;color:#0038A8}.btn-y:hover{background:#E8C800}
.btn-gray{background:#f3f4f6;color:#374151}.btn-gray:hover{background:#e5e7eb}
input:focus,select:focus,textarea:focus{border-color:#0038A8!important;box-shadow:0 0 0 3px rgba(0,56,168,.12)!important;outline:none!important}

/* XP TOAST */
#xp-toast{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;background:linear-gradient(135deg,#0038A8,#002B85);color:white;border-radius:1rem;padding:.9rem 1.4rem;font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.6rem;transform:translateY(5rem);opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
#xp-toast.show{transform:translateY(0);opacity:1}
#xp-toast .xp-badge{background:#F9DD16;color:#0038A8;border-radius:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:900}

/* LEVEL UP */
#levelup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:9998;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
#levelup-overlay.show{opacity:1;pointer-events:all}
.levelup-card{background:linear-gradient(135deg,#0038A8,#002B85);border-radius:2rem;padding:3rem 2rem;text-align:center;color:white;max-width:340px;width:100%;box-shadow:0 0 60px rgba(249,221,22,.3);animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}

/* OFFLINE */
#offline-bar{position:fixed;top:0;left:0;right:0;z-index:99990;background:#f59e0b;color:white;text-align:center;font-size:.78rem;font-weight:700;padding:.4rem;display:none;align-items:center;justify-content:center;gap:.5rem}
#offline-bar.show{display:flex}
#sync-indicator{position:fixed;bottom:1.5rem;left:1.5rem;z-index:9000;background:white;border-radius:1rem;padding:.55rem 1rem;font-size:.75rem;font-weight:700;box-shadow:0 4px 20px rgba(0,0,0,.15);display:none;align-items:center;gap:.4rem;color:#374151}
#sync-indicator.show{display:flex}
#sync-indicator.syncing{color:#0038A8}
#sync-indicator.done{color:#10b981}
#sync-indicator.error{color:#ef4444}

/* LOADING */
#app-loading{position:fixed;inset:0;background:#0038A8;display:flex;align-items:center;justify-content:center;z-index:99999;flex-direction:column;gap:1rem;color:white}
#app-loading .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#F9DD16;border-radius:50%;animation:spin .8s linear infinite}

/* BADGE */
.badge-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem;border-radius:1rem;border:2px solid #e5e7eb;background:#fafafa;text-align:center;cursor:default;transition:all .2s}
.badge-item.earned{border-color:#F9DD16;background:#fffbeb}
.badge-item .badge-icon{font-size:1.6rem;filter:grayscale(1) opacity(.35)}
.badge-item.earned .badge-icon{filter:none}
.badge-item p{font-size:.65rem;font-weight:600;color:#6b7280;line-height:1.2}
.badge-item.earned p{color:#92400e}

/* TIMELINE */
.timeline-strip{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.5rem}
.day-bucket{flex-shrink:0;min-width:120px;border-radius:.9rem;border:2px solid #e5e7eb;padding:.65rem;background:#fafafa}
.day-bucket.today{border-color:#0038A8;background:#EEF3FF}
.review-chip{background:white;border:1.5px solid #e5e7eb;border-radius:.65rem;padding:.4rem .55rem;margin-top:.4rem;cursor:pointer;transition:all .15s;font-size:.68rem}
.review-chip:hover{border-color:#0038A8;background:#EEF3FF}

/* CALENDÃRIO */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-day{min-height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.6rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;position:relative;border:2px solid transparent}
.cal-day:hover:not(.empty){background:#EEF3FF;border-color:#bfdbfe}
.cal-day.today{background:#0038A8;color:white;font-weight:800}
.cal-day.selected{border-color:#F9DD16;background:#fffbeb}
.cal-day.today.selected{background:#002B85;border-color:#F9DD16}
.cal-day.has-task::after{content:'';position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:#0038A8}
.cal-day.today.has-task::after{background:#F9DD16}
.cal-day.other-month{opacity:.25;pointer-events:none}
.cal-day.empty{cursor:default}

/* CADERNOS */
.subject-book{position:relative;border-radius:1.5rem;overflow:hidden;cursor:pointer;transition:all .3s;min-height:220px;box-shadow:5px 5px 0 rgba(0,0,0,.15),10px 10px 0 rgba(0,0,0,.07)}
.subject-book:hover{transform:translateY(-8px) rotate(.5deg);box-shadow:8px 16px 0 rgba(0,0,0,.18),16px 24px 0 rgba(0,0,0,.09)}
.book-spine{position:absolute;left:0;top:0;bottom:0;width:20px;background:rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center}
.book-spine-text{writing-mode:vertical-rl;font-size:.5rem;font-weight:800;color:rgba(255,255,255,.6);letter-spacing:.12em;text-transform:uppercase}
.book-cover{position:absolute;inset:0;left:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;gap:.5rem}
.book-cover-img{position:absolute;inset:0;left:20px;width:calc(100% - 20px);height:100%;object-fit:cover;opacity:.3}
.book-emoji-big{font-size:3rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));position:relative;z-index:1}
.book-title{font-weight:800;text-align:center;color:white;font-size:.9rem;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.4);position:relative;z-index:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;padding:0 .25rem}
.book-meta{font-size:.65rem;color:rgba(255,255,255,.75);position:relative;z-index:1}

/* PÃGINA CADERNO */
.notebook-paper{background:white;border-radius:1.5rem;box-shadow:0 4px 30px rgba(0,0,0,.1);min-height:min(700px,80vh);position:relative;padding:2rem 2rem 2rem 70px}
.notebook-paper::before{content:'';position:absolute;left:55px;top:0;bottom:0;width:2px;background:rgba(220,38,38,.12)}
.page-block{border:2px dashed transparent;border-radius:.85rem;padding:.5rem;transition:all .15s;position:relative;margin:.25rem 0}
.page-block:hover{border-color:#bfdbfe}
.page-block:hover .block-actions{display:flex}.page-block.touch-active .block-actions{display:flex}
.block-actions{display:none;position:absolute;top:-14px;right:6px;flex-direction:row;gap:.3rem;z-index:10;background:white;border-radius:.55rem;padding:.2rem;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.block-btn{width:24px;height:24px;border-radius:.4rem;border:none;cursor:pointer;font-size:.65rem;display:flex;align-items:center;justify-content:center;transition:all .15s}
.page-editable{min-height:60px;padding:.5rem;border:none;outline:none;font-size:.9rem;line-height:1.8;width:100%;background:transparent}
.page-editable:empty:before{content:attr(data-placeholder);color:#c4c4c4;pointer-events:none}
.page-editable b,.page-editable strong{font-weight:700}
.page-editable i,.page-editable em{font-style:italic}
.page-editable h1{font-size:1.6rem;font-weight:800;color:#0038A8}
.page-editable h2{font-size:1.2rem;font-weight:700}
.page-editable h3{font-size:1rem;font-weight:700;color:#374151}
.page-editable ul,.page-editable ol{padding-left:1.5rem}
.page-editable mark{background:#FFF9C4;padding:0 .15rem;border-radius:.2rem}
.page-editable blockquote{border-left:3px solid #0038A8;padding-left:.75rem;color:#6b7280}
.page-editable table{border-collapse:collapse;width:100%;margin:.5rem 0}
.page-editable td,.page-editable th{border:1.5px solid #e5e7eb;padding:.35rem .6rem;font-size:.85rem}
.page-editable th{background:#EEF3FF;font-weight:700;color:#0038A8}
.text-toolbar{display:flex;gap:.25rem;flex-wrap:wrap;padding:.4rem;background:#f9fafb;border-radius:.6rem;margin-bottom:.4rem;border:1px solid #e5e7eb}
.text-toolbar button{padding:.25rem .5rem;border:1px solid transparent;border-radius:.35rem;background:white;font-size:.72rem;cursor:pointer;color:#374151;transition:all .12s}
.text-toolbar button:hover{background:#EEF3FF;border-color:#bfdbfe;color:#0038A8}

/* NOTAS */
.note-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:700;cursor:pointer;border:none;transition:all .15s}
.notebook-card{background:white;border-radius:1.5rem;box-shadow:0 4px 20px rgba(0,56,168,.08);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;position:relative}
.notebook-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px rgba(0,56,168,.22);border-color:#60a5fa}

/* FAB BUTTON ANIMACAO */
@keyframes fab-pulse{0%{box-shadow:0 6px 20px rgba(0,56,168,.55),0 0 0 0 rgba(0,56,168,.4)}70%{box-shadow:0 6px 20px rgba(0,56,168,.55),0 0 0 14px rgba(0,56,168,0)}100%{box-shadow:0 6px 20px rgba(0,56,168,.55),0 0 0 0 rgba(0,56,168,0)}}
#fab-main-btn:hover{transform:scale(1.12) rotate(45deg) !important;box-shadow:0 10px 30px rgba(0,56,168,.65) !important;animation:none !important}
/* ABAS DE PÃGINAS DO CADERNO */
.book-tab{
  padding:.45rem 1rem;border-radius:.65rem .65rem 0 0;font-size:.78rem;font-weight:600;
  cursor:pointer;border:2px solid #e5e7eb;border-bottom:none;background:#f9fafb;
  color:#6b7280;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:.35rem;
}
.book-tab.active{background:white;color:#0038A8;border-color:#bfdbfe;font-weight:700}
.book-tab:hover:not(.active){background:#EEF3FF;color:#0038A8}
.book-tab-add{padding:.4rem .75rem;border-radius:.65rem;font-size:.75rem;font-weight:700;cursor:pointer;border:2px dashed #d1d5db;background:transparent;color:#9ca3af;transition:all .15s;display:flex;align-items:center;gap:.3rem}
.book-tab-add:hover{border-color:#0038A8;color:#0038A8;background:#EEF3FF}
#book-tabs-bar{display:flex;gap:.35rem;align-items:flex-end;overflow-x:auto;padding-bottom:0;border-bottom:2px solid #bfdbfe;margin-bottom:0}
#book-tabs-bar::-webkit-scrollbar{height:3px}
#book-tabs-bar::-webkit-scrollbar-thumb{background:#0038A8;border-radius:2px}

/* RECURSOS */
.resource-card{background:white;border-radius:1.25rem;padding:1.25rem;box-shadow:0 4px 20px rgba(0,56,168,.08);border:2px solid transparent;transition:all .2s;text-decoration:none;display:block;color:inherit}
.resource-card:hover{border-color:#bfdbfe;transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,56,168,.15)}

/* MAPA MENTAL (notas rÃ¡pidas) */
.mm-node{position:absolute;border-radius:.85rem;padding:.4rem .8rem;font-weight:600;font-size:.75rem;cursor:move;user-select:none;box-shadow:0 3px 10px rgba(0,56,168,.15);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:70px;border:2px solid}
.mm-node.central{background:#0038A8;color:white;border-color:#002B85;font-size:.9rem;font-weight:800;border-radius:1.25rem;padding:.65rem 1.2rem}
.mm-node.child{background:#fffbeb;border-color:#F9DD16}
.mm-node.grandchild{background:#f9fafb;border-color:#e5e7eb;font-size:.7rem}
.emoji-btn{font-size:1.3rem;padding:.22rem;border:2px solid transparent;border-radius:.45rem;cursor:pointer;background:none;transition:all .12s;line-height:1}
.emoji-btn:hover{background:#EEF3FF;border-color:#bfdbfe;transform:scale(1.18)}
.emoji-btn.selected{background:#EEF3FF;border-color:#0038A8}
.emoji-cat-tab{flex-shrink:0;padding:.28rem .55rem;border-radius:.5rem;font-size:.85rem;background:#f3f4f6;border:none;cursor:pointer;transition:all .15s}
.emoji-cat-tab.active{background:#0038A8;transform:scale(1.08)}
/* ââ HEATMAP ââ */
.heatmap-cell{
  width:13px;height:13px;border-radius:2px;cursor:pointer;
  transition:transform .1s,box-shadow .1s;flex-shrink:0;
}
.heatmap-cell:hover{transform:scale(1.4);box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:1;position:relative;}
.heatmap-level-0{background:#eef2ff}
.heatmap-level-1{background:#bfdbfe}
.heatmap-level-2{background:#60a5fa}
.heatmap-level-3{background:#2563eb}
.heatmap-level-4{background:#1d4ed8}
.heatmap-level-5{background:#1e3a8a}
.heatmap-month-label{font-size:.62rem;color:#9ca3af;font-weight:600;margin-bottom:.3rem;text-align:center;}
.heatmap-week{display:flex;flex-direction:column;gap:2px;}
.heatmap-tooltip{
  position:fixed;background:#1e293b;color:white;border-radius:.55rem;
  padding:.4rem .75rem;font-size:.72rem;font-weight:600;pointer-events:none;
  z-index:9999;white-space:nowrap;box-shadow:0 4px 15px rgba(0,0,0,.3);
  display:none;
}
.stat-card{background:white;border-radius:1.25rem;padding:1.25rem;box-shadow:0 4px 20px rgba(0,56,168,.08);}
.streak-flame{font-size:1.8rem;line-height:1;}

/* âââââââââââââââââââââââââââââââââââââââââââââââ
   BANCO DE QUESTÃES BB â Design Corporativo Premium
   CabeÃ§alho branco, cards com borda colorida por matÃ©ria
âââââââââââââââââââââââââââââââââââââââââââââââ */

#screen-questoes {
  background: #F0F4F8;
  min-height: 100vh;
  overflow-y: auto;
  padding-bottom: 80px;
}

.bq-wrap { background: linear-gradient(160deg, #EEF4FF 0%, #F5F8FF 50%, #ECF2FF 100%); min-height: 100vh; }

/* ââ CabeÃ§alho BRANCO ââ */
.bq-hdr { background: rgba(255,255,255,0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(13,45,140,0.08); padding: 0; display: block; position: sticky; top: 0; z-index: 10; box-shadow: 0 2px 20px rgba(13,45,140,0.06); }

.bq-hdr-top { display: flex; align-items: center; gap: 12px; padding: 14px 28px; }

.bq-back { background: rgba(13,45,140,0.07); border: none; color: #0D2D8C; width: 36px; height: 36px; border-radius: 10px; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; transition: all .18s; flex-shrink: 0; }
.bq-back:hover { background: #001B5E; color: #fff; border-color: #001B5E; transform: translateX(-2px); }

.bq-hdr-title { flex: 1; }
.bq-hdr-title h2 { font-size: 1.25rem; font-weight: 800; color: #0D1F5C; margin: 0; letter-spacing: -0.02em; }
.bq-hdr-title p { font-size: .75rem; color: #64748B; margin: 3px 0 0; display: flex; align-items: center; gap: 6px; }
.bq-hdr-title p::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #F9DD16; display: inline-block; flex-shrink: 0; }

.bq-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 16px 28px 20px; width: 100%; box-sizing: border-box; }
.bq-stat { background: #fff; border-radius: 16px; padding: 16px 18px; box-shadow: 0 2px 14px rgba(13,45,140,0.07), 0 1px 3px rgba(13,45,140,0.04); border: 1px solid rgba(13,45,140,0.07); display: flex; align-items: center; gap: 12px; transition: all .2s; cursor: default; position: relative; overflow: hidden; border-top: none; }
.bq-stat::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 16px 16px 0 0; background: linear-gradient(90deg, #0D2D8C, #3B5BDB); }
.bq-stat-acertos::before { background: linear-gradient(90deg, #10B981, #34D399); }
.bq-stat-erros::before { background: linear-gradient(90deg, #EF4444, #F87171); }
.bq-stat-taxa::before { background: linear-gradient(90deg, #F5B400, #FBBF24); }
.bq-stat:last-child { border-right: 1px solid rgba(13,45,140,0.07); }
.bq-stat:hover { box-shadow: 0 6px 22px rgba(13,45,140,0.12); transform: translateY(-2px); }
.bq-stat-icon-wrap { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bq-stat-info { display: flex; flex-direction: column; gap: 2px; }
.bq-stat b { font-size: 1.5rem; font-weight: 800; color: #0D1F5C; line-height: 1; letter-spacing: -0.02em; }
.bq-stat span { font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; color: #94A3B8; font-weight: 600; }
.bq-filters-wrapper { margin-top: 8px; padding: 0 28px 16px; width: 100%; box-sizing: border-box; background: transparent; border: none; }
.bq-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.bq-filters::-webkit-scrollbar { display: none; }
.bq-fbtn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border: 1.5px solid rgba(13,45,140,0.12); border-radius: 100px; background: rgba(255,255,255,0.9); color: #4B5E9E; font-size: .8rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: all .18s; font-family: inherit; letter-spacing: .01em; box-shadow: 0 1px 4px rgba(13,45,140,0.06); }
.bq-fbtn:hover { border-color: #0D2D8C; color: #0D2D8C; background: rgba(13,45,140,0.05); box-shadow: 0 2px 12px rgba(13,45,140,0.12); }
.bq-fbtn.on { background: #0D2D8C; color: #fff; border-color: #0D2D8C; box-shadow: 0 4px 14px rgba(13,45,140,0.35); }
.bq-ficon { font-size: .85rem; flex-shrink: 0; }
.bq-count { padding: 0 28px 8px; font-size: .78rem; color: #64748B; font-weight: 500; }
.bq-count strong { color: #0D2D8C; font-weight: 700; }
.bq-body { padding: 0 28px 40px; display: flex; flex-direction: column; gap: 12px; }
.bq-empty { text-align: center; padding: 60px 20px; color: #94A3B8; }
.bq-empty-icon { font-size: 2.5rem; margin-bottom: 12px; display: block; }
.bq-empty h3 { font-size: 1rem; color: #475569; margin-bottom: 6px; }
.bq-empty p { font-size: .85rem; }
.q-card { background: #fff; border-radius: 16px; border: 1px solid rgba(13,45,140,0.08); border-left: 4px solid #CBD5E1; overflow: hidden; animation: qIn .35s ease both; transition: box-shadow .2s, transform .2s, border-color .18s; box-shadow: 0 2px 12px rgba(13,45,140,0.05); }
.q-card { word-wrap: break-word; overflow-wrap: break-word; }
.q-text { font-size: 14px; line-height: 1.7; color: #374151; word-wrap: break-word; overflow-wrap: break-word; }
.q-opt-wrap { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.q-opt { font-size: 13px; padding: 10px 14px; border-radius: 10px; word-wrap: break-word; overflow-wrap: break-word; min-height: 44px; display: flex; align-items: center; gap: 10px; cursor: pointer; border: 1.5px solid #e2e8f0; background: #f8faff; color: #374151; transition: all .18s; -webkit-tap-highlight-color: transparent; }
.q-opt:active { transform: scale(.98); }
@media (max-width: 768px) {
  .q-card { border-radius: 12px; margin-bottom: 12px; padding: 0; }
  .q-card > * { padding-left: 14px; padding-right: 14px; }
  .q-top { flex-wrap: wrap; gap: 6px; padding: 12px 14px 8px; }
  .q-num { font-size: .78rem; padding: 3px 10px; }
  .q-text { font-size: 13.5px; line-height: 1.65; padding: 0 14px 10px; }
  .q-opt-wrap { padding: 0 14px 14px; gap: 8px; }
  .q-opt { font-size: 13px; padding: 10px 12px; min-height: 46px; border-radius: 10px; }
  .q-gab-body { font-size: 13px; }
  .q-badge { font-size: .68rem; padding: 2px 7px; }
  .q-foot { padding: 8px 14px; font-size: .78rem; }
}
.q-card:hover { box-shadow: 0 6px 28px rgba(13,45,140,0.1); transform: translateY(-2px); border-left-color: #0D2D8C; }
.q-card:nth-child(1){animation-delay:.03s}.q-card:nth-child(2){animation-delay:.06s}.q-card:nth-child(3){animation-delay:.09s}.q-card:nth-child(4){animation-delay:.12s}.q-card:nth-child(5){animation-delay:.15s}
@keyframes qIn { from { opacity:0; transform: translateY(16px); } to { opacity:1; transform: translateY(0); } }
.q-badge-port { background: rgba(26,61,201,0.1); color: #1A3DC9; }
.q-badge-mat { background: rgba(124,58,237,0.1); color: #7C3AED; }
.q-badge-ban { background: rgba(245,158,11,0.1); color: #B45309; }
.q-badge-atu { background: rgba(16,185,129,0.1); color: #047857; }
.q-badge-inf { background: rgba(14,165,233,0.1); color: #0369A1; }
.q-badge { background: rgba(13,45,140,0.08); color: #0D2D8C; }


.q-card[data-mat="portugues"]   { border-left-color: #2563EB; }
.q-card[data-mat="matematica"]  { border-left-color: #7C3AED; }
.q-card[data-mat="bancarios"]   { border-left-color: #D97706; }
.q-card[data-mat="atualidades"] { border-left-color: #059669; }
.q-card[data-mat="informatica"] { border-left-color: #DC2626; }

.q-top { padding: 12px 18px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid rgba(13,45,140,0.06); }
.q-top-left { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.q-badge { font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 3px 8px; border-radius: 4px; display: inline-flex; align-items: center; gap: 3px; }
.q-badge-port { background: #DBEAFE; color: #1D4ED8; }
.q-badge-mat  { background: #EDE9FE; color: #6D28D9; }
.q-badge-ban  { background: #FEF3C7; color: #92400E; }
.q-badge-atu  { background: #D1FAE5; color: #065F46; }
.q-badge-inf  { background: #FEE2E2; color: #991B1B; }
.q-badge-ano  { background: #F1F5F9; color: #475569; border: 1px solid #E2E8F0; }
.q-status { font-size: .68rem; font-weight: 700; padding: 3px 9px; border-radius: 20px; }
.q-status-ok  { background: #D1FAE5; color: #065F46; }
.q-status-err { background: #FEE2E2; color: #B91C1C; padding: 4px 12px; border-radius: 100px; font-size: .68rem; font-weight: 700; border: 1px solid #FECACA; display: inline-flex; align-items: center; gap: 4px; }

.q-num { font-size: .67rem; color: #94A3B8; font-weight: 600; padding: 0 18px 8px; display: flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: .05em; }
.q-num::after { content: ''; flex: 1; height: 1px; background: #F1F5F9; }
.q-text { padding: 4px 18px 14px; font-size: .88rem; color: #1E2D5E; line-height: 1.7; font-weight: 450; }

.q-opt-wrap { display: flex; flex-direction: column; gap: 7px; padding: 0 18px 14px; }
.q-opt { display: flex; align-items: center; padding: 10px 14px; border-radius: 11px; border: 1.5px solid rgba(13,45,140,0.1); cursor: pointer; font-size: .855rem; font-weight: 450; transition: all .15s; background: rgba(255,255,255,0.7); line-height: 1.5; gap: 10px; text-align: left; width: 100%; font-family: inherit; color: #374151; }
.q-opt-letter { width: 28px; height: 28px; border-radius: 8px; background: rgba(13,45,140,0.08); display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; color: #0D2D8C; flex-shrink: 0; transition: all .14s; }
.q-opt:hover { border-color: rgba(13,45,140,0.28); background: rgba(13,45,140,0.04); }
.q-opt:hover .q-opt-letter { background: #001B5E; color: #fff; }
.q-opt.selected { border-color: #001B5E; background: #EEF2FF; font-weight: 600; color: #001B5E; }
.q-opt.selected .q-opt-letter { background: #001B5E; color: #fff; }
.q-opt.carregando { opacity: .7; cursor: wait; }
.q-opt.correct { border-color: #10B981; background: rgba(16,185,129,0.08); pointer-events: none; color: #065F46; }
.q-opt.correct .q-opt-letter { background: #16A34A; color: #fff; }
.q-opt.wrong { border-color: #EF4444; background: #FEF2F2; pointer-events: none; color: #991B1B; }
.q-opt.wrong .q-opt-letter { background: #DC2626; color: #fff; }
.q-opt.off { pointer-events: none; opacity: .4; }
.q-opt.acerto { border-color: #10B981; background: #F0FDF4; pointer-events: none; color: #065F46; }
.q-opt.acerto .q-opt-letter { background: #16A34A; color: #fff; }
.q-opt.erro { border-color: #EF4444; background: #FEF2F2; pointer-events: none; color: #991B1B; }
.q-opt.erro .q-opt-letter { background: #DC2626; color: #fff; }
.q-opt.gabarito { border-color: #10B981; background: #F0FDF4; pointer-events: none; color: #065F46; }
.q-opt.gabarito .q-opt-letter { background: #16A34A; color: #fff; }

.q-gab { display: none; margin: 0 16px 14px; border-radius: 8px; overflow: hidden; animation: fadeIn .25s ease; border: 1px solid #BBF7D0; }
.q-gab.show { display: block; }
.q-gab.errada { border-color: #FECACA; }
.q-gab.errada .q-gab-header { background: #DC2626; }
@keyframes fadeIn { from { opacity:0; transform:translateY(-4px) } to { opacity:1; transform:translateY(0) } }
.q-gab-header { background: #16A34A; padding: 7px 14px; }
.q-gab-t { font-size: .7rem; color: #fff; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.q-gab-body { background: #F0FDF4; padding: 12px 14px; }
.q-gab-c { font-size: .83rem; color: #14532D; line-height: 1.65; }

.q-foot { padding: 10px 18px; border-top: 1px solid rgba(13,45,140,0.05); display: flex; align-items: center; justify-content: space-between; background: rgba(248,250,255,0.7); min-height: 38px; }
.q-res { font-size: .68rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; display: none; }
.q-res.ac { background: #D1FAE5; color: #065F46; display: inline-block; }
.q-res.er { background: #FEE2E2; color: #991B1B; display: inline-block; }
.q-btn-gab { font-size: .72rem; font-weight: 600; color: #475569; background: none; border: 1px solid #E2E8F0; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-family: inherit; transition: all .15s; }
.q-btn-gab:hover { background: #001B5E; color: #fff; border-color: #001B5E; }

.bq-empty { text-align: center; padding: 60px 20px; color: #94A3B8; }
.bq-empty-icon { font-size: 2.5rem; margin-bottom: 12px; display: block; }
.bq-empty h3 { font-size: 1rem; color: #475569; margin-bottom: 6px; }
.bq-empty p  { font-size: .85rem; }

.ce-hdr{background:linear-gradient(135deg,#3D0A0A,#7A1A1A) !important}
.ce-fils{display:flex;gap:7px;padding:12px 18px;border-bottom:1px solid #E8EDF8;background:#fff;overflow-x:auto;scrollbar-width:none}
.ce-fils::-webkit-scrollbar{display:none}
.ce-fb{padding:5px 14px;border-radius:20px;border:1.5px solid #E8EDF8;background:#FAFBFF;color:#667085;font-size:.77rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s;font-family:inherit}
.ce-fb.on{background:#001B5E;border-color:#001B5E;color:#fff}
.ce-body{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.ce-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,27,94,.07);border:1.5px solid #E8EDF8;border-left:4px solid #C0392B;overflow:hidden;animation:qIn .3s ease both}
.ce-card.rev{border-left-color:#1A7A4A}
.ce-ch{padding:12px 16px 0;display:flex;align-items:center;justify-content:space-between}
.ce-cb{padding:8px 16px;font-size:.85rem;color:#2D3748;line-height:1.6}
.ce-cf{padding:0 16px 12px;display:flex;gap:7px}
.ce-btn{padding:5px 13px;border-radius:7px;border:none;cursor:pointer;font-size:.76rem;font-weight:600;font-family:inherit;transition:all .15s}
.ce-rev{background:#E8F8EE;color:#1A7A4A}
.ce-rev:hover{background:#1A7A4A;color:#fff}
.ce-rem{background:#F5F7FC;color:#AAB4CC}
.ce-rem:hover{background:#FDEEF0;color:#C0392B}

/* === FIM FIX === */


/* ========================================================
   MOBILE RESPONSIVE - max-width 768px
   ======================================================== */
@media(max-width:768px){

  /* --- BQ STATS: 4 colunas -> 2x2 --- */
  .bq-stats{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;padding:12px 16px 14px!important}
  .bq-stat{padding:12px 14px!important}
  .bq-stat-icon-wrap{width:36px!important;height:36px!important}
  .bq-stat b{font-size:1.3rem!important}

  /* --- BQ FILTROS: scroll horizontal ok --- */
  .bq-filters{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px}
  .bq-fbtn{flex-shrink:0;font-size:.75rem!important;padding:7px 12px!important}
  .bq-hdr-top{padding:10px 16px!important;gap:8px!important}
  .bq-filters-wrapper{padding:0 16px 12px!important}
  .bq-count{padding:0 16px 6px!important}

  /* --- BANCO QUESTOES header --- */
  .bq-hdr{padding:10px 16px!important}
  .bq-hdr-title h2{font-size:1.05rem!important}

  /* --- AGENDA: coluna lateral desaparece, grid 1 coluna --- */
  .agenda-main-grid{grid-template-columns:1fr!important}

  /* --- CADERNO notebook paper --- */
  .notebook-paper{padding:1rem!important;min-height:auto!important}
  .notebook-paper::before{display:none}

  /* --- MODAL responsivo --- */
  .modal-box{padding:1.25rem!important;border-radius:1rem!important;margin:.5rem!important;width:calc(100% - 1rem)!important}
  .modal-wide{max-width:100%!important;margin:.5rem!important;width:calc(100% - 1rem)!important}

  /* --- CRONOGRAMA: scroll horizontal controlado --- */
  #screen-heatmap .heatmap-outer,
  .heatmap-outer{overflow-x:auto!important;-webkit-overflow-scrolling:touch}

  /* --- SUBJECTS TABLE scroll --- */
  .subjects-table-wrap,
  #subjects-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* --- FOOTER padding-bottom para iOS --- */
  footer#main-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + .5rem)!important}

  /* --- HEADER nav links desktop: ocultar em mobile --- */
  .hdr-nav .nav-desktop{display:none!important}

  /* --- APP CONTENT wrap padding bottom (nav mobile cobre conteudo) --- */
  #app-content-wrap,
  .screen-content{padding-bottom:72px!important}

  /* --- TIMER botoes menores --- */
  #timer-btn,#resetTimer{font-size:.8rem!important;padding:.6rem .8rem!important}
  #timer-display{font-size:4rem!important}

  /* --- SIMULADO resultado stats --- */
  #simulado-resultado .bq-stats{grid-template-columns:repeat(2,1fr)!important}
  
  /* --- CADERNO blocos: acoes visiveis no touch (nao so hover) --- */
  .block-actions{display:flex!important;opacity:.7}
  .page-block:not(:focus-within) .block-actions{opacity:.4}

  /* --- NOTA rapida grid menor --- */
  #notes-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important}

  /* --- PLANOS pagina --- */
  .plan-cards-grid,
  .plans-grid{grid-template-columns:1fr!important}

  /* --- CE-FILS caderno estudos --- */
  .ce-fils{gap:4px!important;padding:8px 12px!important}
}

/* ========================================================
   EXTRA SMALL - max-width 480px
   ======================================================== */
@media(max-width:480px){
  .bq-fbtn{font-size:.7rem!important;padding:6px 10px!important}
  .bq-hdr-title h2{font-size:.95rem!important}
  #timer-display{font-size:3.2rem!important}
  .modal-box{padding:1rem!important}
  .notebook-paper{padding:.75rem!important}
  .bq-stat b{font-size:1.1rem!important}
}

@media(max-width:768px){
  .hdr-pill{max-width:none!important;overflow:visible!important}
  .hdr-level-pill{min-width:80px!important}
  #header-xp{display:none!important}
  .hdr-nav-inner{gap:4px!important}
  #hdr-avatar{display:none}
}

  /* MAPA MENTAL mobile */
  .mm-node{padding:.5rem .8rem!important;font-size:.7rem!important;min-width:60px!important}
  .mm-node.central{padding:.6rem 1rem!important;font-size:.8rem!important}

/* === FAB PREMIUM === */
@keyframes fabMenuIn {
  from { opacity:0; transform:translateY(12px) scale(.96); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
#fab-main-btn:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 20px rgba(37,99,235,.38), 0 2px 6px rgba(0,0,0,.1);
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 50%, #1d4ed8 100%);
}
#fab-main-btn:active {
  transform: scale(.97);
}
/* fab open: static */
.fab-menu-item:hover {
  background: #eff6ff !important;
}
.fab-menu-item:active {
  background: #dbeafe !important;
  transform: scale(.98);
}

/* Capa dos cadernos gerados pelo Plano Inteligente */
.caderno-capa{background:linear-gradient(135deg,#0038A8 0%,#00256b 100%);border-radius:14px;padding:2.25rem 1.5rem;text-align:center;color:#fff;margin-bottom:1.25rem}
.caderno-capa-emoji{font-size:2.75rem;line-height:1;margin-bottom:.5rem}
.caderno-capa-titulo{margin:0 0 .35rem;font-size:1.4rem;font-weight:700;color:#fff}
.caderno-capa-subtitulo{margin:0 0 1.25rem;font-size:.88rem;opacity:.85;color:#fff}
.caderno-capa-dica{background:#FFF9E5;border:1px solid #F9DD16;border-radius:10px;padding:.9rem 1.1rem;display:flex;gap:.65rem;align-items:flex-start;text-align:left}
.caderno-capa-dica-icone{font-size:1.2rem;line-height:1.3}
.caderno-capa-dica p{margin:0;font-size:.85rem;color:#6b5900;line-height:1.5}

/* Lista de recursos de estudo dentro da capa do caderno (Plano Inteligente) */
.caderno-recursos{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem 1.25rem 1.4rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.caderno-recursos-titulo{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#0038A8;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid #eef1f6}
.caderno-recursos-titulo-icone{font-size:1.1rem}
.caderno-recursos-lista{display:flex;flex-direction:column;gap:.5rem}
.caderno-recurso-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-radius:10px;background:#F7F9FC;border:1px solid #eef1f6;border-left:3px solid #0038A8;color:#1f2937;text-decoration:none;cursor:pointer;font-size:.85rem;transition:background .15s,transform .15s}
.caderno-recurso-item:hover{background:#EEF3FF;transform:translateX(2px)}
.caderno-recurso-texto{font-weight:500}
.caderno-recurso-seta{color:#0038A8;font-weight:700;opacity:.7}
.caderno-recursos-rodape{margin:.9rem 0 0;font-size:.78rem;color:#9ca3af;font-style:italic;text-align:center}
