/* ═══════════════════════════════════════════════
   Mapeie — style.css
   Preparação para Tribunais Estaduais
   suporte.mapeiebr@gmail.com
═══════════════════════════════════════════════ */


:root{--bg:#F7F8FC;--surface:#FFFFFF;--border:#E4E7F0;--text:#1C2033;--muted:#6B7280;--accent:#3B5BDB;--accent2:#7048E8;--success:#0CA678;--warn:#F59F00;--danger:#E03131;}
[data-theme="dark"]{--bg:#12141C;--surface:#1E2030;--border:#2E3248;--text:#E8EAF6;--muted:#8B92B4;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Inter","Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background .25s,color .25s;}
::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* ─── EDITAL TABS ─── */
.edital-tabs{display:flex;gap:.35rem;padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;}
.edital-tab{padding:.48rem 1.1rem;border-radius:10px;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);transition:all .18s;display:flex;align-items:center;gap:.4rem;white-space:nowrap;}
.edital-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px rgba(59,91,219,.22);}
.edital-tab:hover:not(.active){border-color:var(--accent);color:var(--accent);}
.edital-panel{display:none;}
.edital-panel.active{display:block;}

/* ─── MELHORIA 1: COUNTDOWN DIAS ATÉ PROVA TJ-CE ─── */
.prova-countdown{background:linear-gradient(135deg,#1C2033,#2B3063);color:#fff;padding:.6rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}
.pcd-label{font-size:.72rem;font-weight:700;opacity:.85;white-space:nowrap;}
.pcd-blocks{display:inline-flex;align-items:center;gap:.35rem;}
.pcd-unit{display:flex;flex-direction:column;align-items:center;gap:.08rem;}
.pcd-num{background:rgba(59,91,219,.55);border:1px solid rgba(59,91,219,.8);border-radius:6px;padding:.18rem .5rem;font-size:1.1rem;font-weight:900;font-variant-numeric:tabular-nums;min-width:36px;text-align:center;line-height:1.25;}
.pcd-sub{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.6;}
.pcd-sep{font-size:1rem;font-weight:900;opacity:.35;margin-bottom:.85rem;}
.pcd-badge{background:rgba(252,196,25,.15);border:1px solid rgba(252,196,25,.4);color:#FCC419;border-radius:99px;padding:.18rem .65rem;font-size:.66rem;font-weight:800;white-space:nowrap;}
/* Mobile: countdown + oferta numa linha só, sem empilhar */
@media(max-width:480px){
  .prova-countdown{padding:.4rem .75rem;gap:.5rem;}
  .pcd-label{font-size:.62rem;}
  .pcd-num{font-size:.88rem;min-width:28px;padding:.12rem .35rem;}
  .pcd-badge{display:none;}
  .oferta-banner{padding:.3rem .75rem;font-size:.65rem;gap:.5rem;}
}

/* ─── FAIXA OFERTA ─── */
.oferta-banner{background:linear-gradient(90deg,#6741D9,#3B5BDB);color:#fff;padding:.38rem 1rem;font-size:.73rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;}
.banner-cta{background:#FCC419;color:#1C2033;border:none;border-radius:6px;padding:.2rem .7rem;font-size:.68rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:opacity .15s;}
.banner-cta:hover{opacity:.85;}

/* ─── HEADER ─── */
.site-header{background:linear-gradient(135deg,#1C2033,#2B3063);border-bottom:1px solid rgba(255,255,255,.07);padding:0 2rem;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:68px;}
.logo-block h1{font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:.02em;line-height:1;}
.logo-block p{font-size:.63rem;color:rgba(255,255,255,.38);margin-top:4px;letter-spacing:.03em;font-weight:500;}
.header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0;}
.hdr-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;position:relative;}
.hdr-btn:hover{background:rgba(255,255,255,.16);}
.notif-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid #1C2033;display:none;}
.notif-dot.active{display:block;}

/* ─── TICKER ─── */
.info-ticker{background:var(--surface);border-bottom:1px solid var(--border);padding:.45rem 1rem;overflow:hidden;display:flex;align-items:center;gap:.75rem;}
.ticker-label{font-size:.65rem;font-weight:800;color:var(--success);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;}
.ticker-wrap{overflow:hidden;flex:1;}
.ticker-inner{display:flex;gap:4rem;width:max-content;animation:tickerScroll 65s linear infinite;}
.ticker-inner:hover{animation-play-state:paused;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.ticker-item{font-size:.68rem;color:var(--muted);opacity:.8;white-space:nowrap;display:flex;align-items:center;gap:.4rem;}

/* ─── MAIN ─── */
.main-wrap{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 6rem;}

/* ─── CARDS ─── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:background .25s,border-color .25s;}
.card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
.card-body{padding:1.5rem;}

/* ─── STATS ─── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
.stat-box{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center;}
.stat-box .stat-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem;}
.stat-box .stat-value{font-size:1.4rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;}
.meta-bar-wrap{margin-top:1rem;}
.meta-bar-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:.4rem;}
.bar-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.bar-fill{height:100%;border-radius:4px;transition:width .4s ease;}

/* ─── POMODORO ─── */
.pomodoro-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.pomo-ring-wrap{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 1rem;}
.pomo-ring{position:relative;width:140px;height:140px;}
.pomo-ring svg{transform:rotate(-90deg);}
.pomo-ring-bg{fill:none;stroke:var(--border);stroke-width:8;}
.pomo-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:408;stroke-dashoffset:408;transition:stroke-dashoffset .9s ease,stroke .3s;}
.pomo-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.pomo-time{font-size:1.75rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text);line-height:1;}
.pomo-phase{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:.2rem;}
.pomo-controls{display:flex;align-items:center;gap:.75rem;margin-top:1rem;}
.pomo-btn{border:none;border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:700;padding:.55rem 1.1rem;transition:opacity .15s,transform .1s;display:flex;align-items:center;gap:.35rem;}
.pomo-btn:active{transform:scale(.96);}
.pomo-btn-start{background:var(--accent);color:#fff;}
.pomo-btn-reset,.pomo-btn-skip{background:var(--bg);color:var(--muted);border:1px solid var(--border);}
.pomo-stats{display:flex;gap:1.25rem;margin-top:.75rem;padding-bottom:1rem;}
.pomo-stat{text-align:center;}
.pomo-stat .ps-val{font-size:1.1rem;font-weight:800;color:var(--text);}
.pomo-stat .ps-lbl{font-size:.62rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.pomo-settings{padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--bg);display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.pomo-set-group{display:flex;flex-direction:column;gap:.2rem;}
.pomo-set-group label{font-size:.62rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.pomo-set-group input{width:52px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem;font-size:.8rem;font-weight:700;color:var(--text);text-align:center;outline:none;}
.pomo-set-group input:focus{border-color:var(--accent);}
.pomo-phase-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:99px;}
.phase-work{background:#EEF2FF;color:#3B5BDB;}
.phase-break{background:#EBFBEE;color:#0CA678;}
[data-theme="dark"] .phase-work{background:#1e2a4a;color:#748FFC;}
[data-theme="dark"] .phase-break{background:#0d2b14;color:#69DB7C;}
.ring-work{stroke:#3B5BDB;}.ring-break{stroke:#0CA678;}.ring-long{stroke:#F59F00;}

/* ─── MATÉRIAS ─── */
.materia-card{border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--surface);}
.materia-header{padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;border-bottom:1px solid var(--border);border-left:5px solid transparent;}
.materia-header h2{font-size:1rem;font-weight:700;color:var(--text);}
.accent-lp{border-left-color:#3B5BDB;}.accent-dc{border-left-color:#0CA678;}.accent-da{border-left-color:#F59F00;}
.accent-pc{border-left-color:#E03131;}.accent-pen{border-left-color:#7048E8;}
.accent-rl{border-left-color:#E67700;}.accent-inf{border-left-color:#0EA5E9;}.accent-leg{border-left-color:#6366F1;}
.topic-row{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);gap:.5rem;}
.topic-row:last-child{border-bottom:none;}
.topic-label{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;flex:1;}
.topic-label span{font-size:.875rem;color:var(--text);line-height:1.45;}
.topic-label input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;cursor:pointer;margin-top:2px;}
.topic-row.done .topic-label span{text-decoration:line-through;color:var(--muted);}
.sub-topics{padding:.3rem 1.25rem .6rem 3.5rem;border-bottom:1px solid var(--border);background:var(--bg);}
.sub-topics:last-child{border-bottom:none;}
.sub-item{font-size:.78rem;color:var(--muted);padding:.2rem 0;display:flex;align-items:flex-start;gap:.4rem;line-height:1.4;}
.sub-item::before{content:"›";color:var(--accent);font-weight:700;flex-shrink:0;margin-top:1px;}
.sub-item.lei{color:#3B5BDB;font-weight:600;}
.sub-item.lei::before{content:"⚖";font-size:.7rem;}
.sub-item.pega{color:#E03131;font-weight:600;}
.sub-item.pega::before{content:"⚠";font-size:.7rem;}
[data-theme="dark"] .sub-item.lei{color:#748FFC;}
[data-theme="dark"] .sub-item.pega{color:#FF8787;}
.section-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.55rem 1.25rem .3rem;background:var(--bg);border-bottom:1px solid var(--border);}
.timer-widget{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.45rem .75rem;}
.timer-display{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);min-width:56px;text-align:center;}
.timer-btn{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;}
.timer-btn:active{transform:scale(.92);}
.timer-btn.running{background:var(--danger);}
.materia-progress{padding:.6rem 1.25rem;background:var(--bg);border-top:1px solid var(--border);}
.materia-progress-row{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-bottom:.3rem;}
.mini-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.mini-fill{height:100%;border-radius:3px;transition:width .4s ease;}

/* ─── BADGES ─── */
.badge{font-size:.65rem;font-weight:700;padding:.25rem .6rem;border-radius:99px;white-space:nowrap;}
.badge-alta{background:#FFF0F0;color:#C92A2A;}.badge-media{background:#FFF9DB;color:#E67700;}.badge-baixa{background:#F0FFF4;color:#2B8A3E;}
.badge-vip{background:#F3EEFF;color:#6741D9;}.badge-gerais{background:#EEF2FF;color:#3B5BDB;}.badge-espec{background:#E8FFF3;color:#0CA678;}
[data-theme="dark"] .badge-alta{background:#3b1010;color:#FF8787;}[data-theme="dark"] .badge-media{background:#3b2e00;color:#FFD43B;}
[data-theme="dark"] .badge-baixa{background:#0d2b14;color:#69DB7C;}
[data-theme="dark"] .badge-vip{background:#2d1b4a;color:#B197FC;}[data-theme="dark"] .badge-gerais{background:#1e2a4a;color:#748FFC;}[data-theme="dark"] .badge-espec{background:#0d2b14;color:#69DB7C;}

/* ─── SIMULADOR ─── */
.sim-box{background:linear-gradient(135deg,#EEF2FF,#F3EEFF);border:1px solid #C5D0FF;border-radius:14px;padding:1.25rem 1.5rem;}
[data-theme="dark"] .sim-box{background:linear-gradient(135deg,#1e2a4a,#26184a);border-color:#3b4480;}
.sim-box h3{font-size:.78rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;}
.sim-number{font-size:2.4rem;font-weight:900;color:var(--accent);line-height:1;}
.sim-label{font-size:.78rem;color:var(--muted);margin-top:.2rem;}

/* ─── MODAIS ─── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem;max-width:440px;width:100%;transform:translateY(24px);transition:transform .25s;max-height:90vh;overflow-y:auto;}
.modal-overlay.open .modal-box{transform:translateY(0);}

/* ─── MELHORIA 2: ONBOARDING E-MAIL ─── */
.onb-logo{width:58px;height:58px;border-radius:14px;background:linear-gradient(135deg,#3B5BDB,#7048E8);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto .85rem;}
.email-wrap{position:relative;margin:.65rem 0;}
.email-wrap input{width:100%;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:.7rem 1rem .7rem 2.35rem;font-size:.88rem;color:var(--text);outline:none;transition:border-color .2s;}
.email-wrap input:focus{border-color:var(--accent);}
.email-wrap input::placeholder{color:var(--muted);}
.email-wrap .ei{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none;}
.btn-onb-ok{width:100%;background:linear-gradient(135deg,#3B5BDB,#6741D9);color:#fff;border:none;border-radius:10px;padding:.8rem;font-size:.9rem;font-weight:800;cursor:pointer;transition:opacity .15s;margin-top:.2rem;}
.btn-onb-ok:hover{opacity:.92;}
.btn-onb-skip{display:block;width:100%;margin-top:.55rem;background:none;border:none;color:var(--muted);font-size:.74rem;cursor:pointer;padding:.3rem;}
.onb-trust{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.65rem;font-size:.66rem;color:var(--muted);}

/* ─── SHARE ─── */
.share-preview{border-radius:12px;overflow:hidden;display:flex;justify-content:center;margin:.75rem 0;}
.share-preview canvas{border-radius:12px;max-width:100%;}
.share-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
.share-btn{flex:1;padding:.55rem;border-radius:8px;border:none;font-size:.78rem;font-weight:700;cursor:pointer;transition:opacity .15s;min-width:100px;}
.share-btn:active{opacity:.8;}
.share-btn-dl{background:var(--accent);color:#fff;}
.share-btn-copy{background:var(--bg);color:var(--text);border:1px solid var(--border);}

/* ─── CONFETTI ─── */
@keyframes confettiDrop{0%{transform:translateY(-20px) rotate(0deg);opacity:1;}100%{transform:translateY(100vh) rotate(720deg);opacity:0;}}
.confetti-piece{position:fixed;width:10px;height:10px;border-radius:2px;pointer-events:none;z-index:9999;animation:confettiDrop 2s ease-in forwards;}

/* ─── FAQ ─── */
.faq-answer{display:none;padding:0 1.5rem 1rem;font-size:.85rem;color:var(--muted);line-height:1.6;}
.faq-answer.open{display:block;}
.faq-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;color:var(--text);font-size:.875rem;font-weight:600;text-align:left;transition:background .15s;}
.faq-btn:hover{background:var(--bg);}

/* ─── BOTTOM NAV ─── */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:100;padding:.5rem 0 env(safe-area-inset-bottom);}
@media(max-width:640px){.bottom-nav{display:flex;}}
.bottom-nav-inner{display:flex;width:100%;}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .25rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:color .15s;}
.nav-item .nav-icon{font-size:1.15rem;}
.nav-item.active,.nav-item:hover{color:var(--accent);}

/* ─── MISC ─── */
#indicadorSalvo{transition:opacity .5s;opacity:0;font-size:.7rem;color:var(--muted);}
.top-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;}
@media(max-width:640px){.top-grid{grid-template-columns:1fr;}}
.section-anchor{scroll-margin-top:80px;}
@keyframes popIn{0%{transform:scale(.5);opacity:0;}70%{transform:scale(1.15);}100%{transform:scale(1);opacity:1;}}
.meta-input{width:56px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem;font-size:.82rem;font-weight:700;color:var(--text);text-align:center;outline:none;}
.meta-input:focus{border-color:var(--accent);}
.garantia-card{background:linear-gradient(135deg,#EBFBEE,#D3F9D8);border:1px solid #8CE99A;border-radius:16px;padding:1.75rem;display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap;}
[data-theme="dark"] .garantia-card{background:linear-gradient(135deg,#0d2b14,#103318);border-color:#2b6b38;}
.garantia-card h3{font-size:1rem;font-weight:800;color:#1A7A3B;margin-bottom:.4rem;}
.garantia-card p{font-size:.85rem;color:#2B8A3E;line-height:1.6;}
[data-theme="dark"] .garantia-card h3,[data-theme="dark"] .garantia-card p{color:#69DB7C;}
.vip-banner{background:linear-gradient(135deg,#6741D9,#3B5BDB);color:#fff;border-radius:14px;padding:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.vip-banner h3{font-size:1rem;font-weight:800;margin-bottom:.25rem;}
.vip-banner p{font-size:.8rem;opacity:.85;}
.btn-vip-w{background:#fff;color:#6741D9;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:opacity .15s;}
.btn-vip-w:hover{opacity:.9;}
.pwa-banner{display:none;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem 1.25rem;margin-bottom:1.25rem;align-items:center;gap:.85rem;flex-wrap:wrap;}
.pwa-banner.visible{display:flex;}
.pwa-banner p{flex:1;font-size:.8rem;color:var(--text);}
.pwa-install-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;}
.pwa-dismiss{background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:.25rem;}

/* ─── PLANEJADOR SEMANAL ─── */
.planner-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.planner-hdr{background:linear-gradient(135deg,#1C2033,#2B3063);padding:1rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
.planner-hdr h2{font-size:.98rem;font-weight:800;color:#fff;margin:0;}
.planner-hdr p{font-size:.72rem;color:#8B92B4;margin-top:3px;}
.planner-sem-badge{background:rgba(255,255,255,.15);color:#fff;font-size:.62rem;font-weight:800;padding:.25rem .65rem;border-radius:99px;white-space:nowrap;border:1px solid rgba(255,255,255,.2);flex-shrink:0;}
.planner-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;padding:1.1rem 1.1rem .75rem;}
@media(max-width:700px){.planner-days{grid-template-columns:repeat(4,1fr);}}
@media(max-width:440px){.planner-days{grid-template-columns:repeat(2,1fr);}}
.day-box{background:var(--bg);border:1.5px solid var(--border);border-radius:12px;padding:.65rem .5rem;text-align:center;transition:border-color .2s,background .2s,box-shadow .2s;}
.day-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,91,219,.12);}
.day-box.has-h{border-color:var(--accent);background:linear-gradient(135deg,rgba(59,91,219,.07),rgba(112,72,232,.04));}
.day-box .d-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.15rem;}
.day-box .d-full{font-size:.62rem;color:var(--muted);margin-bottom:.4rem;}
.day-box input[type=number]{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:.38rem .2rem;font-size:1rem;font-weight:800;color:var(--text);text-align:center;outline:none;transition:border-color .2s;}
.day-box input[type=number]:focus{border-color:var(--accent);}
.day-box .d-unit{font-size:.58rem;color:var(--muted);margin-top:.2rem;font-weight:600;}
.planner-total-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;}
.planner-total-row .tl{font-size:.72rem;color:var(--muted);font-weight:600;}
.planner-total-row .tv{font-size:1.05rem;font-weight:900;color:var(--accent);}
.planner-actions{display:flex;gap:.6rem;padding:.9rem 1.25rem;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);}
.btn-gerar{background:linear-gradient(135deg,#3B5BDB,#6741D9);color:#fff;border:none;border-radius:10px;padding:.62rem 1.4rem;font-size:.82rem;font-weight:800;cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;gap:.4rem;white-space:nowrap;}
.btn-gerar:hover{opacity:.92;}
.btn-gerar:active{transform:scale(.97);}
.btn-adaptar{background:var(--bg);color:var(--muted);border:1.5px solid var(--border);border-radius:10px;padding:.62rem 1.1rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.35rem;white-space:nowrap;}
.btn-adaptar:hover{border-color:var(--accent2);color:var(--accent2);}
.sem-tabs{display:flex;gap:.35rem;margin-left:auto;flex-wrap:wrap;}
.sem-tab{padding:.32rem .8rem;border-radius:8px;font-size:.7rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:var(--bg);color:var(--muted);transition:all .15s;white-space:nowrap;}
.sem-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.sem-tab.locked-tab::after{content:" 🔒";font-size:.62rem;}
.plano-hdr{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;}
.plano-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.75rem;padding:1rem 1.25rem;}
@media(max-width:480px){.plano-grid{grid-template-columns:repeat(2,1fr);}}
.plano-dia{background:var(--bg);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.plano-dia:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(59,91,219,.08);}
.plano-dia-hdr{padding:.5rem .85rem;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border);}
.plano-dia-nome{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text);}
.plano-dia-hs{font-size:.58rem;font-weight:700;background:rgba(59,91,219,.1);color:var(--accent);padding:.12rem .4rem;border-radius:99px;}
.plano-dia-body{padding:.4rem .85rem .65rem;}
.plano-sessao{display:flex;align-items:flex-start;gap:.35rem;padding:.28rem 0;border-bottom:1px dashed var(--border);}
.plano-sessao:last-child{border-bottom:none;}
.plano-sessao-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.plano-sessao-mat{font-size:.63rem;font-weight:700;color:var(--text);line-height:1.35;}
.plano-sessao-dur{font-size:.57rem;color:var(--muted);margin-top:1px;}
.plano-livre{padding:.75rem .85rem;font-size:.68rem;color:var(--muted);font-style:italic;text-align:center;}
.plano-resumo{display:flex;gap:.75rem;padding:.65rem 1.25rem;border-top:1px solid var(--border);flex-wrap:wrap;background:var(--bg);}
.plano-resumo-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--muted);}
.plano-resumo-item strong{color:var(--text);}
.plano-vip-nudge{padding:.8rem 1.25rem;border-top:1px solid var(--border);background:linear-gradient(90deg,rgba(103,65,217,.04),rgba(59,91,219,.02));display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.plano-vip-nudge span{font-size:.76rem;color:var(--muted);flex:1;}
@keyframes fadeIn{0%{opacity:0;transform:translateY(8px);}100%{opacity:1;transform:translateY(0);}}
.plano-grid .plano-dia:nth-child(1){animation:fadeIn .25s ease both 0s;}
.plano-grid .plano-dia:nth-child(2){animation:fadeIn .25s ease both .05s;}
.plano-grid .plano-dia:nth-child(3){animation:fadeIn .25s ease both .1s;}
.plano-grid .plano-dia:nth-child(4){animation:fadeIn .25s ease both .15s;}
.plano-grid .plano-dia:nth-child(5){animation:fadeIn .25s ease both .2s;}
.plano-grid .plano-dia:nth-child(6){animation:fadeIn .25s ease both .25s;}
.plano-grid .plano-dia:nth-child(7){animation:fadeIn .25s ease both .3s;}
  