/* TRAVEI · painel do usuário: complementos ao visual do painel (styles.css). */
[hidden]{display:none!important}

/* Entrada */
.gate{min-height:100vh;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px 16px;background:radial-gradient(circle at 20% 10%,rgba(242,56,79,.14),transparent 40%),radial-gradient(circle at 85% 80%,rgba(120,90,255,.12),transparent 40%),var(--bg)}
.gate-card{width:min(440px,100%);box-sizing:border-box;padding:30px 22px;border-radius:24px;display:grid;gap:12px}
.gate-card .brand{margin-bottom:6px}
.gate-card h1{margin:0;font-size:clamp(1.7rem,6vw,2.2rem);line-height:1.15}
.gate-card p{margin:0;color:var(--muted);line-height:1.6}
.gate-card label{display:grid;gap:6px;font-weight:750;margin-top:6px}
.gate-card input{height:52px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);padding:0 14px;font-size:1rem}
.gate-card .btn{width:100%;justify-content:center;margin-top:6px}
.gate-card .text-btn{justify-self:start}
.gate-muted{font-size:.9rem}
.gate-muted a{color:var(--text)}
.code-input{font-size:1.6rem!important;letter-spacing:.5em;text-align:center;font-weight:800}

/* Hoje */
.now-step{font-size:1.02rem}
.now-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.now-card{grid-template-columns:74px 1fr}
.inline-step{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:flex-end}
.inline-step label{display:grid;gap:6px;flex:1 1 240px;font-weight:700;font-size:.92rem}
.inline-step input{flex:1 1 200px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 12px}
.today-rest{display:grid;gap:10px;margin:12px 0}
.small-mission h3{font-size:1rem}
.empty-mission{grid-template-columns:1fr}
.empty-mission .btn{margin-top:12px}
.boss-info .btn{margin-top:12px}

/* Lista */
.dump{padding:18px;border-radius:20px;display:grid;gap:10px;margin-bottom:18px}
.dump textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);padding:12px;font:inherit;resize:vertical;min-height:84px}
.dump-row,.edit-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.dump select,.task-edit select,.task-edit input,.setting input,.setting select{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.task-check{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:800;cursor:pointer}
.task-line.done .task-check{background:color-mix(in srgb,#2ecc71 30%,var(--panel2))}
.task-line.done b{text-decoration:line-through;opacity:.7}
.task-line small{display:block;color:var(--muted);margin-top:2px}
.task-edit{grid-column:1/-1;display:grid;gap:10px;padding:10px 0 4px}
.task-edit label{display:grid;gap:5px;font-weight:700;font-size:.88rem;flex:1 1 150px}
.list-empty{color:var(--muted);padding:14px 0 4px}
#listTabs button,#rangeTabs button{cursor:pointer}

/* Jornada e ajustes */
.phase-strip button.locked{opacity:.4}
.phase-strip button[disabled]{cursor:default}
.xp-rules{color:var(--muted);font-size:.88rem;margin-top:18px}
.xp-rules a{color:var(--text)}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}
.setting input#setName{width:min(220px,100%)}

/* Atalho de volta ao Command Center (só para a administração). */
.admin-back{display:block;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;font-weight:750;font-size:.9rem}
.admin-back-mini{display:inline-flex;margin:0 8px 0 0;padding:8px 10px;font-size:.82rem}
.mobile-app-head > div{display:flex;align-items:center}

/* Família e código */
.gate-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;margin:6px 0}
.gate-divider:before,.gate-divider:after{content:"";flex:1;height:1px;background:var(--line)}
.kid-code{letter-spacing:.3em}
.kid-mode .adult-only{display:none!important}
.fam-field{display:grid;gap:5px;font-weight:700;font-size:.88rem;flex:1 1 150px}
.fam-field input,.fam-field select{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.consent-line{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--muted)}
.consent-line input{margin-top:4px;width:18px;height:18px;flex-shrink:0}
.consent-line a{color:var(--text)}
.fam-list{display:grid;gap:14px}
.fam-card{padding:18px;border-radius:20px;display:grid;gap:12px}
.fam-card header{display:flex;gap:12px;align-items:center}
.fam-card header img{width:52px;height:52px;border-radius:14px;object-fit:cover;background:var(--panel2)}
.fam-card h3{margin:0}
.fam-card small{color:var(--muted)}
.fam-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fam-code{border:1px dashed var(--line);border-radius:16px;padding:14px;text-align:center;display:grid;gap:6px}
.fam-code span{font-size:.75rem;letter-spacing:.12em;color:var(--muted);font-weight:800}
.fam-code strong{font-size:2rem;letter-spacing:.2em}
.fam-code p{margin:0;color:var(--muted);font-size:.9rem}
.fam-detail{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.fam-detail h4{margin:8px 0 0}
.fam-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fam-stats div{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.fam-stats b{display:block;font-size:1.05rem}
.fam-task{padding:8px 0;border-top:1px solid var(--line)}
.fam-task small{display:block;margin-top:2px}
.fam-task.done b{opacity:.75}
.reminder-slot{display:grid;gap:10px;margin-bottom:12px}
.reminder-card{padding:16px;border-radius:18px;border:1px solid color-mix(in srgb,#ffb347 55%,var(--line));background:color-mix(in srgb,#ffb347 10%,var(--panel))}
.reminder-card span{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#ffb347}
.reminder-card p{margin:6px 0 10px;font-size:1.1rem;font-weight:700}
@media(max-width:560px){.fam-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Barra de baixo do celular: cabe 6 abas (responsável) ou 5 (filho) numa linha só. */
.mobile-bottom-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.mobile-bottom-nav button{font-size:.62rem;min-width:0}

/* ---------- Pedidos da família ---------- */
body:not(.kid-mode) .kid-only{display:none!important}
.pedido-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 11px;margin:2px 0 6px;border-radius:999px;font-size:.74rem;font-weight:850;letter-spacing:.02em;color:var(--chip);background:color-mix(in srgb,var(--chip) 14%,transparent);border:1px solid color-mix(in srgb,var(--chip) 45%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.obs-bubble{position:relative;margin:8px 0 0;padding:9px 12px;border-radius:14px 14px 14px 4px;background:var(--panel2);border:1px solid var(--line);font-size:.9rem;line-height:1.45}
.reward-chip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;padding:7px 12px;border-radius:12px;font-size:.88rem;background:linear-gradient(120deg,rgba(255,196,77,.16),rgba(255,111,168,.12));border:1px solid rgba(255,196,77,.45)}
.reward-chip.won{background:linear-gradient(120deg,rgba(76,217,140,.2),rgba(255,196,77,.16));border-color:rgba(76,217,140,.6)}

/* Baú da semana */
.chest-card{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;padding:16px 18px;margin-bottom:14px;border-radius:22px;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 30%,rgba(255,196,77,.18),transparent 45%),radial-gradient(circle at 95% 90%,rgba(160,110,255,.16),transparent 45%),var(--panel);border:1px solid rgba(255,196,77,.35)}
.chest-art{position:relative;width:92px;height:92px;border-radius:18px;overflow:hidden;background:#140d1c}
.chest-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,196,77,.45))}
.chest-kicker{display:block;font-size:.7rem;letter-spacing:.14em;font-weight:900;color:#ffc44d}
.chest-body h3{margin:6px 0 10px;font-size:1.15rem;line-height:1.3}
.chest-body p{margin:8px 0 0;color:var(--muted);font-size:.88rem}
.chest-body .btn{margin-top:10px}
.chest-progress{height:12px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}
.chest-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffc44d,#ff6fa8,#a77bff);transition:width .5s ease}
.chest-card.complete{border-color:rgba(76,217,140,.7);box-shadow:0 0 0 1px rgba(76,217,140,.25),0 18px 50px rgba(76,217,140,.15)}
.chest-card.complete .chest-art img{animation:chestPop 1.6s ease-in-out infinite}
.chest-card.delivered{opacity:.85}
.confetti{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#ffc44d 2px,transparent 3px) 10% 20%/22px 22px,radial-gradient(circle,#ff6fa8 2px,transparent 3px) 60% 0/26px 26px,radial-gradient(circle,#6ea8ff 2px,transparent 3px) 30% 60%/30px 30px;animation:confetti 2.4s linear infinite}
@keyframes chestPop{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(-3deg)}}
@keyframes confetti{from{background-position:10% -20%,60% -40%,30% -10%}to{background-position:10% 120%,60% 140%,30% 110%}}
.motion-off .chest-card .chest-art img,.motion-off .confetti{animation:none}

/* Lembrete com imagem */
.reminder-kicker{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:900;color:#ffb347}
.reminder-image{display:block;width:100%;margin:10px 0 4px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#0b0e16;cursor:zoom-in}
.reminder-image img{display:block;width:100%;max-height:340px;object-fit:contain}
.reminder-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.reminder-actions .seen{color:#4cd98c;font-weight:800}
.reminder-card.has-image p{font-size:1.15rem}
.image-viewer{position:fixed;inset:0;z-index:200;background:rgba(5,7,12,.94);display:grid;grid-template-rows:1fr auto;padding:16px;gap:12px}
.image-viewer img{width:100%;height:100%;object-fit:contain}
.viewer-actions{display:flex;justify-content:center;gap:10px;padding-bottom:env(safe-area-inset-bottom)}

/* Pedidos da semana */
.week-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.week-nav b{font-size:1rem}
.week-nav .icon-btn:disabled{opacity:.35}
.pedidos-list{display:grid;gap:12px}
.pedidos-h{font-size:1.1rem;margin:10px 0 0}
.pedido-task{padding:14px 16px;border-radius:18px}
.pedido-task h3{margin:2px 0 4px;font-size:1.02rem}
.pedido-task small{color:var(--muted)}
.pedido-task.done h3{color:#4cd98c}

/* Formulários da família */
.fam-box{border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:4px 14px}
.fam-box summary{cursor:pointer;font-weight:850;padding:10px 0;list-style:none}
.fam-box summary::-webkit-details-marker{display:none}
.fam-box[open] summary{border-bottom:1px solid var(--line);margin-bottom:10px}
.fam-form{display:grid;gap:10px;padding-bottom:12px}
.fam-form label{display:grid;gap:5px;font-weight:700;font-size:.88rem}
.fam-form input,.fam-form select,.fam-form textarea{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:10px;font:inherit}
.fam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.image-pick{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:52px;border:1.5px dashed var(--line);border-radius:14px;cursor:pointer;color:var(--text)}
.image-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.image-preview{display:grid;gap:6px;justify-items:start}
.image-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:14px;background:#0b0e16}
.fam-reminders{display:grid;gap:10px}
.fam-task .pedido-chip{display:flex;width:max-content}
@media(max-width:560px){
  .fam-grid{grid-template-columns:1fr}
  .chest-card{grid-template-columns:64px 1fr;gap:12px;padding:14px}
  .chest-art{width:64px;height:64px}
  .reminder-image img{max-height:280px}
}
@media(max-width:560px){.now-card,.small-mission{grid-template-columns:1fr!important}.now-card .mission-badge,.small-mission .mission-badge{display:none}.small-mission{grid-template-columns:1fr 42px!important}}
.reminder-actions .unseen{color:var(--muted);font-weight:700}
/* Campos da entrada nunca passam da largura do cartão (o código usa letra grande e espaçada). */
.gate-card input{width:100%;min-width:0;box-sizing:border-box}
.gate-card .kid-code{font-size:1.35rem!important;letter-spacing:.22em}

/* Avisos: verde = deu certo, vermelho = deu errado */
.toast.ok{background:#123a2c!important;border:1px solid #2f8f66!important;color:#b9ffe1!important}
.toast.erro{background:#3a1520!important;border:1px solid #8c4358!important;color:#ffc2d1!important}

/* Frase do dia, lembretes com passo a passo e galeria de figuras */
.frase-card p{font-size:1.08rem;font-weight:750;line-height:1.45;margin:8px 0 0;color:var(--text)}
.reminder-card p,.fam-task b{white-space:pre-line}
.picto-box{border:1px dashed var(--line);border-radius:14px;padding:6px 12px;background:var(--panel)}
.picto-box summary{cursor:pointer;font-weight:800;padding:8px 0}
.picto-box h5{margin:12px 0 6px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.picto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.picto{display:grid;justify-items:center;gap:4px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#1b2232;cursor:pointer;font-size:.72rem;line-height:1.2;text-align:center}
.picto img{width:56px;height:56px;object-fit:contain}
.picto.sel{outline:3px solid #ff6fa8;outline-offset:1px}
.picto-credito{font-size:.72rem;color:var(--muted);margin:10px 0 4px}
.picto-escolhida{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.picto-escolhida img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}
.picto-escolhida span{font-weight:800;flex:1}
.reminder-image img[src*="/assets/pictogramas/"]{background:#fff;padding:18px;max-height:260px}

/* Entrada com senha */
.gate-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px}
.gate-links .text-btn{justify-self:auto;font-size:.9rem}
.gate-ok{margin:0;padding:12px 14px;border-radius:12px;background:#123a2c;border:1px solid #2f8f66;color:#b9ffe1!important;font-weight:750}

/* Imagem na tarefa */
.task-image{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0}
.task-image .reminder-image{width:96px;height:96px;padding:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;cursor:zoom-in;flex:none}
.task-image .reminder-image img{width:100%;height:100%;object-fit:cover;display:block}
.task-image .reminder-image img[src*="/assets/pictogramas/"]{object-fit:contain;padding:8px}
.task-image .btn{min-height:40px;padding:8px 14px;font-size:.88rem}
.fam-task .task-image .reminder-image{width:64px;height:64px}
.fam-task .task-image .btn{display:none}
/* Sugestões de melhoria */
.nav-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f85087;margin-left:6px;vertical-align:middle;box-shadow:0 0 0 3px #f8508733}
.nav-dot[hidden]{display:none}
.idea-shortcut{width:100%;margin:14px 0 4px}
.idea-count{color:var(--muted);margin-right:auto;align-self:center}
.idea-list{display:grid;gap:12px;margin-top:12px}
.idea-item{padding:16px;border-radius:18px}
.idea-item.has-new{outline:2px solid #f85087}
.idea-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.idea-top small{color:var(--muted);margin-left:auto}
.idea-pill{font-size:.72rem;font-weight:800;border-radius:99px;padding:3px 10px;background:var(--panel2);border:1px solid var(--line)}
.idea-pill.st-planejada{background:#123a5c;color:#b7dcff;border-color:#123a5c}
.idea-pill.st-feita{background:#123a2c;color:#b9ffe1;border-color:#123a2c}
.idea-body{margin:10px 0 0;white-space:pre-wrap;line-height:1.55}
.idea-answer{margin-top:12px;padding:10px 14px;border-left:3px solid #8a7afc;background:var(--panel2);border-radius:0 12px 12px 0}
.idea-answer small{font-weight:800;font-size:.72rem;letter-spacing:.06em;color:#a99cff}
.idea-answer p{margin:4px 0 0;white-space:pre-wrap;line-height:1.55}
/* Notificações no celular */
.push-card{padding:16px 18px;border-radius:18px;margin-top:14px;display:grid;gap:12px}
.push-head{display:flex;gap:12px;align-items:flex-start}
.push-head i{font-style:normal;font-size:1.3rem;line-height:1.4}
.push-head span{display:grid;gap:2px}
.push-head small{color:var(--muted)}
.push-help{margin:0;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);line-height:1.55;font-size:.92rem}
.push-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.push-actions [hidden]{display:none}
.push-daily{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.push-daily[hidden],.push-row[hidden]{display:none}
.push-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.push-row>span{display:grid;gap:2px}
.push-row small{color:var(--muted)}
.push-row input[type=time]{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.push-kid{margin:0;color:var(--muted);font-size:.9rem}
/* Assistente opcional */
.ai-preview{padding:16px;border-radius:20px;margin:-6px 0 18px;display:grid;gap:12px}
.ai-preview[hidden]{display:none}
.ai-preview header{display:grid;gap:2px}
.ai-preview header small{color:var(--muted)}
.ai-rows{display:grid;gap:10px}
.ai-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.ai-row>input[type=checkbox]{width:20px;height:20px;margin-top:12px;accent-color:#f85087}
.ai-row>div{display:grid;gap:6px;min-width:0}
.ai-row input:not([type=checkbox]){width:100%;box-sizing:border-box;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 10px;font:inherit}
.ai-row label{display:grid;gap:4px;font-size:.78rem;color:var(--muted);font-weight:700}
.ai-dialog{max-width:min(460px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:20px 22px}
.ai-dialog::backdrop{background:#000a}
.ai-dialog h2{margin:0 0 10px;font-size:1.25rem}
.ai-dialog ul{padding-left:20px;line-height:1.55;margin:8px 0}
.ai-dialog p{line-height:1.6;margin:0 0 8px}
.ai-small{font-size:.85rem;color:var(--muted)}
.ai-dialog a{color:inherit}
.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}
.ai-actions a.btn{text-decoration:none}
.ai-crisis{border-color:#f5c26b}
.stuck-form [data-ai-stuck]{white-space:nowrap}
/* Agenda do TRAVEI no Google Agenda */
.agenda-card #agendaOn{display:grid;gap:10px}
.agenda-card #agendaOn[hidden],.agenda-card #agendaOff[hidden]{display:none}
.agenda-link{display:grid;gap:6px;font-size:.82rem;color:var(--muted);font-weight:700}
.agenda-link input{width:100%;box-sizing:border-box;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit;font-size:.8rem}
.agenda-passos{margin:0;padding-left:20px;line-height:1.55;font-size:.92rem}
.agenda-card .push-actions a.btn{text-decoration:none}
/* Repetição de tarefas */
.dump-date{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.dump-date[hidden]{display:none}
.repeat-days{display:flex;gap:5px;flex-wrap:wrap}
.repeat-days[hidden]{display:none}
.repeat-days button{width:36px;height:36px;flex:0 0 36px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:inherit;font-weight:800;cursor:pointer}
.repeat-days button[aria-pressed="true"]{background:#f85087;border-color:#f85087;color:#fff}
.repeat-hint{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.repeat-hint[hidden]{display:none}
.repeat-chip{display:inline-block;margin:4px 0 0;padding:2px 10px;border-radius:99px;background:var(--panel2);border:1px solid var(--line);font-size:.75rem;font-weight:700}
.task-edit input[type=date]{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:0 8px;font:inherit}
/* Falar em vez de escrever */
.dump-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mic-btn{min-height:38px;padding:6px 14px;font-size:.88rem;white-space:nowrap}
.mic-btn[aria-pressed="true"]{background:#f85087;border-color:#f85087;color:#fff;animation:mic-pulso 1.2s ease-in-out infinite}
@keyframes mic-pulso{50%{box-shadow:0 0 0 6px #f8508733}}
.mic-status{margin:0;font-size:.88rem;line-height:1.5;color:var(--muted)}
.mic-status[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.mic-btn[aria-pressed="true"]{animation:none}}
/* Abas da Lista cabem em celulares estreitos */
.tab-row{flex-wrap:nowrap}
.tab-row button{flex:1 1 0;min-width:0;padding:10px 6px;white-space:nowrap}
/* Lembrete por tarefa */
.lembrete-row select,.lembrete-row input{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 10px;font:inherit}
.lem-hora{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);font-weight:700}
.lem-hora[hidden],.lem-custom[hidden]{display:none}
.lem-custom{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.lem-custom input{width:72px}
.task-edit .lem-custom input{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:0 8px;font:inherit;width:70px}
.task-edit .lem-custom select{height:40px}
.veio-lembrete{margin:0 0 8px;padding:8px 12px;border-radius:12px;background:#f5c26b22;border:1px solid #f5c26b66;font-size:.9rem;line-height:1.45}
/* Ajuda do assistente no Travei */
.ai-ajuda{display:grid;gap:8px;margin:0 0 10px;padding:12px;border-radius:14px;background:var(--panel2);border:1px solid var(--line)}
.ai-pensando,.ai-acolhe{margin:0;line-height:1.5}
.ai-pensando{color:var(--muted)}
.ai-passos{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ai-passos button{width:100%;text-align:left;display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;cursor:pointer}
.ai-passos button span{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f85087;color:#fff;font-weight:800;font-size:.85rem}
.ai-passos button:active{transform:scale(.98)}
.ai-ajuda small{color:var(--muted)}
/* Aviso para instalar */
.install-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 12px;border-radius:16px;background:linear-gradient(100deg,#2a1838,#14233f);border:1px solid #6e5aa8;color:#fff;box-shadow:0 10px 30px #0006}
.install-banner[hidden]{display:none}
.install-banner img{border-radius:10px;flex:0 0 44px}
.install-banner>div{display:grid;gap:2px;flex:1;min-width:0}
.install-banner small{color:#d6d9ec;font-size:.8rem;line-height:1.35}
.install-banner .btn{flex:0 0 auto;min-height:38px;padding:6px 14px;font-size:.88rem}
.install-x{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;background:#ffffff1a;color:#fff;font-size:1.1rem;cursor:pointer}
.ios-share{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#4c8dff;color:#fff;font-size:.8rem}
.install-seta{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:300;font-size:2.2rem;color:#4c8dff;pointer-events:none;animation:seta-pula 1s ease-in-out infinite;text-shadow:0 2px 12px #000}
.install-seta[hidden]{display:none}
@keyframes seta-pula{50%{transform:translate(-50%,8px)}}
@media (prefers-reduced-motion:reduce){.install-seta{animation:none}}
/* Meu dia */
#view-dia .app-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dia-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.dia-strip::-webkit-scrollbar{display:none}
.dia-strip button{flex:0 0 auto;scroll-snap-align:center;display:grid;gap:2px;justify-items:center;min-width:58px;padding:8px 6px;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;transition:transform .15s,background .15s}
.dia-strip button span{font-size:.72rem;font-weight:700;text-transform:capitalize}
.dia-strip button b{font-size:1.15rem;color:var(--text)}
.dia-strip button[aria-selected="true"]{background:var(--ruby,#f85087);border-color:transparent;color:#fff;transform:translateY(-2px)}
.dia-strip button[aria-selected="true"] b{color:#fff}
.dia-legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin:0 0 12px}
.dia-legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cor-google{background:#4c8dff}.cor-travei{background:#f85087}.cor-lembrete{background:#f5c26b}
.dia-timeline{display:grid;gap:12px;animation:dia-entra .25s ease}
@keyframes dia-entra{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.dia-todo{display:flex;gap:8px;flex-wrap:wrap}
.pill-google{padding:6px 12px;border-radius:99px;background:#4c8dff22;border:1px solid #4c8dff66;font-size:.86rem;font-weight:700}
.dia-horas{list-style:none;margin:0;padding:0;display:grid;gap:0}
.dia-horas li{display:grid;grid-template-columns:52px 14px 1fr;gap:10px;align-items:start;min-height:52px}
.dia-horas li>i{width:2px;justify-self:center;height:100%;background:var(--line);position:relative}
.dia-horas li>i::before{content:"";position:absolute;top:6px;left:-5px;width:12px;height:12px;border-radius:50%;background:var(--panel);border:3px solid var(--line)}
.dia-hora{font-weight:800;font-size:.9rem;display:grid;line-height:1.2;padding-top:2px}
.dia-hora small{font-weight:600;color:var(--muted);font-size:.74rem}
.dia-item>div{padding:8px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);margin-bottom:8px;display:grid;gap:2px}
.dia-item>div small{color:var(--muted);font-size:.8rem}
.tipo-google>i::before{border-color:#4c8dff}.tipo-google>div{border-left:4px solid #4c8dff}
.tipo-lembrete>i::before{border-color:#f5c26b}.tipo-lembrete>div{border-left:4px solid #f5c26b}
.dia-item.passou{opacity:.5}
.dia-agora{min-height:28px!important;color:#f85087;font-size:.8rem;font-weight:800}
.dia-agora>i{background:#f85087!important;height:2px!important;width:100%!important;align-self:center;justify-self:stretch!important}
.dia-agora>i::before{display:none}
.dia-agora b{align-self:center}
.dia-bloco{padding:14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);border-left:4px solid #f85087;display:grid;gap:10px}
.dia-bloco-t{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.dia-bloco-t span{color:var(--muted);font-size:.78rem}
.dia-tarefa{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.dia-tarefa>div{display:grid;gap:2px}
.dia-tarefa small{color:var(--muted);font-size:.82rem}
.dia-tarefa small.atrasada{color:#f5c26b}
.dia-livre{margin:0;padding:12px 14px;border-radius:14px;background:#4c8dff14;border:1px dashed #4c8dff55}
.dia-aviso{margin:0;padding:10px 12px;border-radius:12px;background:#f5c26b18;border:1px solid #f5c26b55;font-size:.9rem;line-height:1.45}
.dia-rodape{text-align:center;margin:16px 0 0}.dia-rodape[hidden]{display:none}
#diaConectar[hidden]{display:none}
/* Resumo na tela Hoje */
.dia-mini{padding:14px 16px;border-radius:18px;display:grid;gap:8px;margin-bottom:14px}
.dia-mini-t{display:flex;justify-content:space-between;align-items:center}
.dia-mini-t span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#4c8dff}
.dia-mini ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dia-mini li{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:baseline}
.dia-mini li span{font-weight:800;font-size:.88rem}
.dia-mini li.tipo-google b{border-left:3px solid #4c8dff;padding-left:8px}
.dia-mini li.tipo-lembrete b{border-left:3px solid #f5c26b;padding-left:8px}
.dia-mini p,.dia-mini small{margin:0;color:var(--muted);font-size:.84rem}
.dia-mini-cta{width:100%;text-align:left;display:grid;gap:2px;padding:12px 14px;margin-bottom:14px;border-radius:16px;border:1px dashed var(--line);background:transparent;color:var(--text);font:inherit;font-weight:800;cursor:pointer}
.dia-mini-cta small{font-weight:500;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.dia-timeline{animation:none}.dia-strip button{transition:none}}
/* Botão atualizar */
[data-atualizar].girando{animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){[data-atualizar].girando{animation:none}}
.mobile-app-head>div{display:flex;gap:8px;align-items:center}

/* ---------- Padrões: escolher de quem (eu ou cada filho) ---------- */
.padrao-quem{display:flex;gap:8px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.padrao-quem::-webkit-scrollbar{display:none}
.padrao-quem[hidden]{display:none}
.padrao-quem button{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 14px 6px 6px;font-weight:800;font-size:.9rem;min-height:40px}
.padrao-quem button:first-child{padding-left:16px}
.padrao-quem button img{width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:top}
.padrao-quem button.active{border-color:var(--ruby);background:color-mix(in srgb,var(--ruby) 12%,var(--panel));color:var(--ruby)}
.padrao-nota{margin-top:12px!important;font-size:.8rem!important}

/* ---------- Jornada: evolução de verdade ---------- */
.evolucao{padding:20px;margin-bottom:16px;display:grid;gap:10px}
.evolucao .evo-kicker{font-size:.68rem;letter-spacing:.12em;color:var(--ruby);font-weight:900}
.evolucao h2{font-size:1.45rem;line-height:1.2;margin:2px 0 4px}
.evolucao>p{color:var(--muted)}
.evo-semana{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.evo-semana>div{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.evo-semana b{font-size:1.7rem;line-height:1}
.evo-semana span{font-size:.75rem;color:var(--muted);font-weight:700}
.evo-semana em{font-style:normal;font-size:.78rem;font-weight:900;justify-self:start;padding:2px 8px;border-radius:999px}
.evo-up{color:#1d9a5b;background:#41d98c22}
.evo-down{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}
.evo-eq{color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,transparent)}
.evo-legenda{color:var(--muted);font-size:.75rem}
.evo-grade-head{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:.85rem}
.evo-grade-head span{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:.72rem}
.evo-grade-head span i{width:10px;height:10px;border-radius:3px}
.evo-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.evo-grade i{height:20px;border-radius:6px}
.evo-grade i.hoje{outline:2px solid var(--ruby);outline-offset:1px}
.evolucao .l0{background:color-mix(in srgb,var(--muted) 16%,transparent)}
.evolucao .l1{background:#f2384f55}
.evolucao .l2{background:#f2384f99}
.evolucao .l3{background:var(--ruby)}
.evo-linhas{display:grid;margin-top:4px}
.evo-linha{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.evo-linha>i{flex:0 0 36px;height:36px;border-radius:11px;background:rgba(242,56,79,.1);display:grid;place-items:center;font-style:normal;color:var(--ruby)}
.evo-linha>div{display:grid}
.evo-linha small{color:var(--muted)}

/* ---------- Jornada: personagem recortado, sem a faixa escura ---------- */
#view-character .character-stage{min-height:0;display:flex;flex-direction:column;padding:20px 18px 16px;overflow:hidden;
  background:radial-gradient(ellipse 70% 55% at 50% 62%,rgba(139,92,246,.20),transparent 70%),radial-gradient(ellipse 50% 30% at 50% 92%,rgba(242,56,79,.16),transparent 70%),var(--panel)}
#view-character .stage-copy{max-width:none}
#view-character .character-big{position:relative;inset:auto;height:400px;margin:6px 0 0;overflow:visible;display:flex;justify-content:center;align-items:flex-end}
#view-character .character-big .halo{top:46%;width:270px;height:270px;z-index:0}
#view-character .character-big img{position:relative;left:auto;bottom:auto;transform:none;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center bottom;z-index:2}
#view-character .character-big .chao{position:absolute;bottom:2px;left:50%;width:220px;height:26px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,16,40,.32),transparent 70%);z-index:1}
#view-character .phase-strip{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px}
#view-character .phase-strip button{background:var(--panel2);color:var(--text)}
#view-character .phase-strip button.locked{opacity:.55}
#view-character .phase-strip button.locked span:before{content:'🔒 ';font-size:.7em}
#view-character .phase-strip button.active{border-color:var(--ruby);background:color-mix(in srgb,var(--ruby) 14%,var(--panel));color:var(--ruby)}
@media(min-width:761px){#view-character .character-big{height:480px}#view-character .character-big .halo{width:340px;height:340px}}
body.character-off #view-character .character-big{display:none!important}
#view-patterns .bar-row>div{background:color-mix(in srgb,var(--muted) 22%,transparent)}
#dumpForm.destaque{animation:despejo-brilha 1.2s ease-out}
@keyframes despejo-brilha{0%{box-shadow:0 0 0 0 #f2384f66}40%{box-shadow:0 0 0 6px #f2384f33}100%{box-shadow:0 0 0 0 transparent}}
/* Menu de baixo preso à área visível (ver prenderMenuEmBaixo no painel.js) */
@media(max-width:760px){
  html,body{overscroll-behavior-y:none}
  body.teclado-aberto .mobile-bottom-nav{visibility:hidden;pointer-events:none}
}
#view-character .character-big img.sem-recorte{border-radius:22px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 88%,transparent)}
.chest-dia{margin:2px 0 6px!important;font-weight:800;color:var(--ruby)!important;text-transform:none}
.fam-hint{display:block;color:var(--muted);font-size:.78rem;margin:-4px 0 8px}

/* ---------- Acessibilidade ---------- */
.ouvir-btn,.ouvir-tela{display:none}
body.voz-on .ouvir-btn{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:1rem;cursor:pointer;vertical-align:middle}
body.voz-on .ouvir-tela{display:inline-grid}
body.voz-on .sidebar-foot .ouvir-tela{display:inline-block}
html[data-texto="grande"]{font-size:112.5%}
html[data-texto="maior"]{font-size:125%}
html[data-espacamento] body{letter-spacing:.035em;word-spacing:.12em}
html[data-espacamento] p,html[data-espacamento] small,html[data-espacamento] li,html[data-espacamento] label{line-height:1.8}
html[data-espacamento] em,html[data-espacamento] i{font-style:normal}
html[data-contraste]:not([data-theme="light"]){--muted:#e2e7f0;--line:#8c97ad;--text:#fff}
html[data-contraste][data-theme="light"]{--muted:#1f2533;--line:#6f7a8f;--text:#000}
html[data-contraste] .btn,html[data-contraste] input,html[data-contraste] select,html[data-contraste] textarea{border-width:2px}
html[data-contraste] :focus-visible{outline:3px solid #ffd25f!important;outline-offset:2px}
.acess-grid{display:grid;gap:10px}
.acess-opcoes{display:grid;gap:8px}
.acess-opcoes label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);cursor:pointer}
.acess-opcoes label:has(input:checked){border-color:var(--ruby);background:color-mix(in srgb,var(--ruby) 10%,var(--panel2))}
.acess-opcoes input{margin-top:4px;accent-color:var(--ruby)}
.acess-opcoes b{display:block}
.acess-opcoes small{color:var(--muted)}
.acess-checks{display:grid;gap:8px}
.acess-checks label{display:flex;gap:10px;align-items:center}
.acess-checks input{width:20px;height:20px;accent-color:var(--ruby)}
.acess-grid>div>b{display:block;margin-top:10px}
.acess-grid .fam-hint{margin:2px 0 0}
.acess-checks label{align-items:flex-start;padding:6px 0;cursor:pointer}
.acess-checks label>span{display:grid;gap:1px}
.acess-checks small{color:var(--muted);font-size:.8rem;line-height:1.35}
.acess-checks input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0}
.acess-checks label.acess-tamanho{align-items:center;justify-content:space-between}
.acess-checks select{padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:inherit;font-weight:700}
/* Texto grande não pode empurrar nada para fora da tela */
.settings-grid>*{min-width:0}
@media(max-width:760px){.settings-grid{grid-template-columns:minmax(0,1fr)}}
.setting input,.setting select,.two-inputs input{min-width:0;max-width:100%}
.two-inputs{display:flex;gap:8px;flex-wrap:wrap}
.fam-link{display:grid;gap:6px;margin:10px 0 6px}
.fam-link small{font-weight:800;color:var(--muted);font-size:.75rem;letter-spacing:.04em}
.fam-link code{display:block;padding:9px 11px;border:1px dashed var(--line);border-radius:12px;background:var(--panel2);font-size:.8rem;word-break:break-all;user-select:all;-webkit-user-select:all}
.fam-link-btns{display:flex;gap:8px;flex-wrap:wrap}
.fam-link-btns .btn{flex:1 1 140px}
.fam-link-btns .btn{font-size:.86rem;padding:10px 12px;min-height:46px;text-align:center;justify-content:center}
/* Caixa ♿ dentro do perfil do filho: o .fam-form não pode esticar rádios e caixinhas */
.fam-form .acess-opcoes label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.fam-form .acess-checks label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.fam-form .acess-checks label.acess-tamanho{align-items:center;justify-content:space-between}
.fam-form .acess-opcoes input[type=radio],.fam-form .acess-checks input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:0;padding:0;margin:2px 0 0;border-radius:0;background:none}
.fam-form .acess-checks select{width:auto;min-width:120px;flex:0 0 auto}
.fam-form .acess-opcoes span,.fam-form .acess-checks label>span{display:grid;gap:2px;min-width:0}

/* Vídeo "como usar" no app do filho */
.video-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:14px;margin-bottom:14px;border:2px solid color-mix(in srgb,var(--ruby) 45%,var(--line))}
.video-capa{width:96px;height:170px;object-fit:cover;object-position:top;border-radius:12px}
.video-card h3{margin:4px 0}
.video-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.video-dialog{width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.video-dialog video{display:block;width:100%;max-height:70vh;aspect-ratio:9/16;background:#000;border-radius:14px;margin:10px 0}
.video-ajustes{margin-top:10px;width:100%}

/* Idioma */
.gate-idioma{display:flex;justify-content:center;margin-top:10px}
html[lang="en"] .gate-idioma [data-idioma="en"],html:not([lang="en"]) .gate-idioma [data-idioma="pt"]{display:none}
.stage-prox{display:block;margin-top:10px;font-size:.85rem;line-height:1.4;color:var(--muted)}
#heroLevel{white-space:nowrap}
/* Cards do personagem */
.cards-section{margin-top:22px}.cards-section h2{margin:0 0 4px}.cards-sub{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.card-mini{position:relative;display:grid;gap:4px;justify-items:start;text-align:left;padding:10px 10px 12px;border-radius:18px;border:2px solid var(--cor);background:linear-gradient(160deg,color-mix(in srgb,var(--cor) 28%,transparent),transparent 70%);color:var(--text)}
.card-mini img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;margin-bottom:4px}
.card-mini b{font-size:1rem}.card-mini small{color:var(--muted);font-size:.75rem}.card-mini em{font-style:normal;font-size:.75rem;font-weight:700;color:var(--cor)}
.card-mini.locked{border-color:var(--line);background:none}.card-mini.locked img{filter:grayscale(1) brightness(.45)}.card-mini.locked em{color:var(--muted)}
.card-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.card-dialog img{display:block;width:100%;border-radius:16px;margin:10px 0}
.card-aviso{font-size:.8rem;color:var(--muted);margin:0 0 10px}
body.character-off #cardsSection{display:none}
.card-mini .card-capa{aspect-ratio:1080/1350;object-fit:cover}
.card-mini.locked .card-capa{filter:none;opacity:.85}
.card-acoes{flex-wrap:wrap}
.rotina-eu-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rotina-eu-acoes select{max-width:100%}
.regras-pontos summary{cursor:pointer;font-weight:700}.regras-pontos p{margin:8px 0}
.aviso-pontos{display:block;margin-top:8px;font-size:.85rem;font-weight:700;color:#ffb86b}html[data-theme="light"] .aviso-pontos{color:#b45309}
.familia-adultos{padding:16px 18px;margin:14px 0}.familia-adultos h3{margin:0 0 6px}.familia-adultos h3 small{color:var(--muted);font-weight:600}
.familia-lista{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}.familia-lista li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.familia-lista small{color:var(--muted)}
.fam-task .fam-feito{margin-top:6px;padding:6px 12px;font-size:.85rem}
.lista-imprimir{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}body.kid-mode .lista-imprimir{display:none}
.lista-imprimir select{min-width:0;flex:1 1 150px;max-width:100%}.lista-imprimir .btn{flex:0 0 auto}.lista-imprimir-box{max-width:100%;overflow:hidden}
/* Planos */
.planos-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.planos-sub{color:var(--muted);margin:4px 0 12px}.planos-nota{font-size:.8rem;color:var(--muted);margin:12px 0}
.planos-lista{display:grid;gap:12px}
.plano{border:1px solid var(--line);border-radius:16px;padding:14px 16px}.plano.destaque{border-color:#f72b44;box-shadow:0 0 0 1px #f72b4455}
.plano.escolhido{border-color:#22c55e}.plano header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.plano header b{font-size:1.1rem}.plano header span{font-weight:800}
.plano ul{margin:8px 0 10px;padding-left:18px;display:grid;gap:4px;font-size:.9rem}.plano-tag{font-weight:800;color:#22c55e}
.plano-card button{flex:0 0 auto}
.plano-saida{border-style:dashed}.plano-saida-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.plano-saida select{display:block;margin-top:4px;max-width:100%}.modo-leitura{background:#1e293b;border-radius:12px;padding:10px 12px}html[data-theme="light"] .modo-leitura{background:#eef2ff}
.aviso-teste{padding:14px 16px;margin:10px 0;border:1px solid #f5b915}.aviso-teste p{margin:6px 0}.aviso-teste-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
html[data-theme="light"] .app-nav button.active{color:#111;border-color:rgba(242,56,79,.45)}html[data-theme="light"] .app-nav button.active span{color:#111}
/* Planos: no celular vira tela cheia com uma rolagem só */
html.janela-aberta,html.janela-aberta body{overflow:hidden}
.planos-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}
.planos-topo h2{margin:0}
.planos-x{border:0;background:transparent;color:var(--text);font-size:1.3rem;width:44px;height:44px;border-radius:12px;flex:0 0 auto}
.planos-dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media (max-width:640px){
  .planos-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;inset:0;border-radius:0;border:0;padding:0 16px calc(24px + env(safe-area-inset-bottom))}
  .planos-topo{position:sticky;top:0;z-index:2;background:var(--panel);padding:calc(10px + env(safe-area-inset-top)) 0 10px;border-bottom:1px solid var(--line);margin:0 -16px;padding-left:16px;padding-right:8px}
  .planos-topo h2{font-size:1.15rem}
  .planos-sub{font-size:.85rem;line-height:1.45;margin:10px 0}
  .planos-lista{gap:10px}
  .plano{padding:12px 14px;border-radius:14px}
  .plano header b{font-size:1rem}.plano header span{font-size:.9rem}
  .plano ul{font-size:.82rem;line-height:1.35;gap:2px;margin:6px 0 8px;padding-left:16px}
  .plano .btn{width:100%;padding:10px 14px;font-size:.9rem;min-height:44px}
  .planos-nota{font-size:.75rem}
  .planos-dialog .ai-actions{display:none}
}

/* Primeiros passos: cartão de lembretes na Hoje e primeira tarefa guiada */
.lembretes-card{padding:16px 18px;margin:10px 0;border:1px solid #7c5cff}
.lembretes-card .kicker,.primeiro-dialog .kicker{display:block;font-size:.7rem;letter-spacing:.12em;font-weight:800;color:var(--accent,#c9b6ff);margin-bottom:4px}
.lembretes-card h3{margin:0 0 6px;font-size:1.1rem}
.lembretes-card p{margin:0 0 8px;line-height:1.5}
.lembretes-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.passos-instalar{margin:6px 0 4px;padding-left:22px;display:grid;gap:8px;line-height:1.5}
.passos-instalar li::marker{font-weight:800}
.hora-lembrete{display:flex;align-items:center;gap:8px;font-weight:700;margin:6px 0}
.hora-lembrete select{min-height:40px;border-radius:10px;padding:4px 10px;background:var(--panel);color:var(--text);border:1px solid var(--line);font:inherit}
.primeiro-dialog{width:min(480px,calc(100% - 24px))}
.primeiro-dialog h2{font-size:1.4rem}
.primeiro-dialog input{width:100%;min-height:48px;border-radius:12px;padding:10px 12px;font:inherit;font-size:1rem;background:var(--bg,#0b0f19);color:var(--text);border:1px solid var(--line);margin:6px 0 10px;box-sizing:border-box}
.primeiro-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.primeiro-chips .chip{display:inline-flex;align-items:center;width:auto;margin:0;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:99px;padding:8px 12px;font:inherit;font-size:.88rem;cursor:pointer;min-height:38px}
.primeiro-chips .chip:hover,.primeiro-chips .chip:focus-visible{border-color:#7c5cff}
.primeiro-lembra{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.primeiro-lembra h3{margin:0 0 6px;font-size:1rem}
.primeiro-dialog .ai-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:640px){.primeiro-dialog{max-height:calc(100dvh - 24px);overflow:auto}}

/* Ícones 3D do menu (lateral e barra de baixo) */
.nav-ic{display:inline-grid;place-items:center;line-height:0}
.nav-ic img{width:26px;height:26px;object-fit:contain;transition:transform .18s ease,filter .18s ease,opacity .18s ease;filter:saturate(.85);opacity:.9}
.app-nav button .nav-ic img{width:24px;height:24px}
.app-nav button.active .nav-ic img,.mobile-bottom-nav button.active .nav-ic img{filter:none;opacity:1;transform:scale(1.14) translateY(-1px);filter:drop-shadow(0 3px 6px #e2335c55)}
.mobile-bottom-nav button .nav-ic img{width:28px;height:28px}
@media (prefers-reduced-motion:reduce){.nav-ic img{transition:none}}
.dica-instalar{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.dica-instalar summary{cursor:pointer;font-weight:700;color:var(--muted)}
.dica-instalar .btn{margin-top:6px}
/* Globo 3D no botão de idioma */
.gate-idioma .text-btn{display:inline-flex;align-items:center;gap:6px}
.gate-idioma .ic-globo{width:22px;height:22px;object-fit:contain}
.setting .ic-img{display:grid;place-items:center}
.setting .ic-img img{width:30px;height:30px;object-fit:contain}
/* Entrada: destaque da conta grátis */
.gate-gratis{display:grid;gap:6px;margin:14px 0 6px;padding:14px;border:1px solid #7c5cff;border-radius:16px;background:color-mix(in srgb,#7c5cff 10%,transparent);text-align:center}
.gate-gratis b{font-size:1.05rem}
.gate-gratis small{color:var(--muted);font-size:.8rem}
.gate-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:600;line-height:1.4}
.gate-check input{width:20px;height:20px;margin:2px 0 0;flex:0 0 20px;accent-color:#e2335c}
.gate-check a{color:inherit}

/* Cartões de tarefa: figura inteira e centralizada, botões modernos */
.mission-badge{display:grid;place-items:center;flex-shrink:0}
.mission-badge.picto{background:#fbfaf7;border:1px solid #ffffff22;box-shadow:inset 0 0 0 1px #0000000a}
.mission-badge.picto img{width:82%;height:82%;object-fit:contain}
.mission-badge.jogo{background:radial-gradient(circle at 50% 35%,#3a1622,#1a0b12);border:1px solid #f2384f33}
.mission-badge.jogo.blue{background:radial-gradient(circle at 50% 35%,#1b2c47,#0d1626);border:1px solid #4c8dff33}
.mission-badge.jogo img{width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 4px 8px #0006)}
.mission-top em:empty{display:none}
.now-actions{gap:10px}
.now-actions .btn{border-radius:999px;min-height:46px;padding:0 20px;font-weight:850;letter-spacing:.01em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.now-actions .btn span{font-size:.95em;line-height:1}
.now-actions .btn:hover{transform:translateY(-1px)}
.now-actions .btn:active{transform:translateY(1px) scale(.98)}
.now-actions .btn-primary{background:linear-gradient(135deg,#ff4d6d,#f2384f 55%,#d9265f);box-shadow:0 8px 24px #f2384f40,inset 0 1px 0 #ffffff33}
.now-actions .btn-ghost[data-act="done"]{background:#22c55e1a;border:1px solid #22c55e66;color:var(--text)}
.now-actions .btn-ghost[data-act="done"]:hover{background:#22c55e2e;border-color:#22c55e}
.now-actions .btn-ghost[data-act="done"] span{color:#22c55e}
.now-actions .btn-ghost[data-act="stuck"]{background:#f59e0b1a;border:1px solid #f59e0b66;color:var(--text)}
.now-actions .btn-ghost[data-act="stuck"]:hover{background:#f59e0b2e;border-color:#f59e0b}
.now-actions .text-btn[data-act="later"]{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:1px dashed var(--line);font-size:.92rem}
.now-actions .text-btn[data-act="later"]:hover{border-style:solid;color:var(--text)}
.inline-step input{border-radius:14px}
.inline-step .btn{border-radius:999px;min-width:64px}
.mission-start{display:grid;place-items:center;background:linear-gradient(135deg,#f2384f2e,#a855f72e);border:1px solid #f2384f66;transition:transform .15s ease,background .15s ease}
.mission-start:hover{transform:translateX(2px);background:linear-gradient(135deg,#f2384f55,#a855f755)}
html[data-theme="light"] .mission-badge.picto{border-color:#0000001a}
html[data-theme="light"] .mission-start{color:#1d1f27}
@media(max-width:560px){.now-card .mission-badge,.small-mission .mission-badge{display:grid!important;width:56px;height:56px;align-self:start}.now-card{grid-template-columns:56px minmax(0,1fr)!important}.small-mission{grid-template-columns:56px minmax(0,1fr) 42px!important}.now-actions .btn{flex:1 1 calc(50% - 10px)}.mission-top{flex-wrap:wrap}}

/* Primeira semana (body.inicio): menu essencial e a missão de agora no topo da Hoje */
body.inicio .menu-depois{display:none!important}
.so-inicio{display:none}
body.inicio .so-inicio{display:block}
/* Tela Hoje (todos, inclusive o filho): a missão de agora primeiro; lembretes da família e convites logo abaixo; a fase por último */
.dashboard-left>*{order:8}
.dashboard-left>.subhead{order:1}
.dashboard-left>#nowCard{order:2}
.dashboard-left>#reminderSlot{order:3}
.dashboard-left>#todayRest{order:4}
.dashboard-left>#videoBoasVindas{order:5}
.dashboard-left>#lembretesSlot{order:6}
.dashboard-left>#weekSlot{order:7}
.dashboard-left>.player-hero{order:9}

/* Tarefas prontas para adultos (Lista) */
.prontas-adulto{margin:4px 0 2px;border:1px dashed var(--line);border-radius:14px;padding:4px 12px;background:var(--panel)}
.prontas-adulto summary{cursor:pointer;font-weight:800;padding:9px 0}
.prontas-dica{margin:0 0 6px;font-size:.85rem;color:var(--muted)}
.prontas-adulto h5{margin:12px 0 6px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prontas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.pronta-adulto{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--panel2,var(--panel));color:var(--text);cursor:pointer;font:inherit;min-height:52px}
.pronta-adulto img{width:38px;height:38px;flex:none;object-fit:contain;background:#fff;border-radius:9px;padding:3px}
.pronta-adulto b{display:block;font-size:.9rem;line-height:1.25}
.pronta-adulto small{display:block;font-size:.76rem;color:var(--muted);line-height:1.3;margin-top:2px}
.pronta-adulto.ok{border-color:#4cd98c;box-shadow:0 0 0 2px rgba(76,217,140,.35)}
.pronta-adulto:disabled{opacity:.6}

/* Só em português (ex.: vídeo dos adultos, que ainda não tem versão em inglês) */
html[lang="en"] .pt-only{display:none!important}
