/* FITZONE | Experiência, acessibilidade e central de ajuda v1 */
:root { --fz-ux-verde:#a3e635; --fz-ux-fundo:#101911; --fz-ux-texto:#f4f9f0; --fz-ux-borda:#477333; }
.fz-sr-only { position:absolute!important;width:1px!important;height:1px!important; padding:0!important;margin:-1px!important; overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important; }
/* Link discreto em todas as páginas, inclusive nas telas menores */
.fz-ajuda-flutuante {position:fixed;right:20px;bottom:20px;z-index:8500;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border:1px solid rgba(163,230,53,.73);border-radius:999px;box-shadow:0 8px 32px rgba(0,0,0,.40),0 0 13px rgba(141,228,36,.12);background:#10200f;color:#efffdb;text-decoration:none;font:800 14px/1.2 Inter,Arial,sans-serif;transition:transform .22s ease, box-shadow .25s ease, border-color .25s ease;}
.fz-ajuda-flutuante:hover,.fz-ajuda-flutuante:focus-visible {transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.50),0 0 20px rgba(159,246,50,.30);border-color:#caff77;}
.fz-ajuda-flutuante:focus-visible {outline:3px solid #fff;outline-offset:3px;}
/* Notificações: não sobrepõem os controles do tutorial */
.fz-avisos {position:fixed;top:16px;right:16px;z-index:20000;width:min(390px,calc(100vw - 32px));display:grid;gap:9px;pointer-events:none;}
.fz-aviso {pointer-events:auto;box-sizing:border-box;padding:14px 40px 14px 16px;border:1px solid rgba(161,224,58,.70);border-left:4px solid #a3e635;border-radius:13px;position:relative;background:#101c12;color:#f5fff4;box-shadow:0 13px 36px rgba(0,0,0,.48);font:600 13px/1.55 Inter,Arial,sans-serif;animation:fz-mostrar .2s ease both;overflow-wrap:anywhere;}
.fz-aviso[data-tipo="erro"] {border-left-color:#ff9c90;border-color:rgba(255,156,144,.65);}
.fz-aviso button {position:absolute;right:7px;top:5px;min-width:32px;min-height:32px;background:transparent;border:0;color:inherit;font:800 19px Arial,sans-serif;cursor:pointer;}
@keyframes fz-mostrar {from {opacity:0;transform:translateY(-8px)}to {opacity:1;transform:none}}
/* Formulários: pista visual sem ocultar mensagens já existentes */
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"] {outline:2px solid #ffb6a6!important;outline-offset:1px;}
.fz-erro-campo {display:block;margin-top:5px;color:#ffc3b5;font-size:13px;line-height:1.5;}
body.tema-claro .fz-erro-campo {color:#8b2929;}
/* Tutor: painel que não bloqueia o site e pode ser fechado em qualquer etapa */
.fz-tour-painel {position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:13000;width:min(540px,calc(100vw - 24px));max-height:min(74vh,600px);overflow:auto;box-sizing:border-box;padding:20px;border:1px solid #a3e635;border-radius:21px;background:#0d1b10;color:#f5fff1;box-shadow:0 15px 64px rgba(0,0,0,.78),0 0 26px rgba(147,226,45,.22);font-family:Inter,Arial,sans-serif;}
.fz-tour-painel h2{margin:8px 0;font-size:clamp(19px,4vw,23px);line-height:1.2;color:#fff;}
.fz-tour-painel p{margin:8px 0 12px;font-size:14px;line-height:1.6;color:#d3e0cc;}
.fz-tour-etapa{font-size:12px;font-weight:800;color:#a3e635;letter-spacing:.04em;}
.fz-tour-botoes{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px;}
.fz-tour-botoes button{font:800 13px/1.3 Inter,Arial,sans-serif;min-height:43px;padding:10px 14px;border:1px solid #527243;border-radius:11px;color:#f2ffe9;background:#182719;cursor:pointer;}
.fz-tour-botoes button.fz-proximo{border-color:#a3e635;background:#a3e635;color:#152108;}
.fz-tour-botoes button:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.fz-tour-alvo {outline:3px solid #b9ff56!important;outline-offset:5px!important;box-shadow:0 0 0 7px rgba(106,196,23,.11),0 0 32px rgba(158,250,37,.33)!important;scroll-margin-top:150px;}
.fz-tour-intro {position:fixed;bottom:79px;right:20px;z-index:9200;width:min(330px,calc(100vw - 40px));box-sizing:border-box;padding:16px;border:1px solid #7cd328;border-radius:15px;background:#102013;color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.65);font:14px/1.5 Inter,Arial,sans-serif;}
.fz-tour-intro h2 {font-size:17px;margin:0 0 7px;color:#c7ff74}.fz-tour-intro p{margin:0 0 13px;}
.fz-tour-intro button{min-height:42px;cursor:pointer;border-radius:10px;padding:9px 13px;background:#a3e635;color:#13220d;font-weight:800;border:0;}
.fz-tour-intro button.fz-ignorar{background:transparent;border:1px solid #667c62;color:#fff;}
.fz-tour-intro div{display:flex;gap:8px;flex-wrap:wrap;}
/* Não bloqueia tamanhos pequenos: controles roláveis só quando necessário */
@media (max-width:700px) {
 .fz-ajuda-flutuante {bottom:12px;right:12px;min-height:44px;padding:10px 13px;font-size:13px;}
 .fz-tour-painel {bottom:9px;max-height:65vh;padding:15px;border-radius:17px;}
 .fz-tour-botoes button{flex:1 1 100px;}
 .fz-avisos {top:7px;right:8px;width:calc(100vw - 16px);}
 .fz-tour-intro{bottom:66px;right:12px;}
 .topo.fitzone-neon .menu {min-width:0;}
 .fitzone-subnav {justify-content:center;}
}
/* Leitura melhor para cards sociais e controles sem modificar o layout existente */
:is(.pagina-feed,.pagina-comunidade,.container) :is(input,select,textarea) {font-size:max(16px,1em);}
:is(.pagina-feed,.pagina-comunidade,.container) :is(.mensagem-feed,.status,.aviso-pagina) {line-height:1.6;}
/* Alternativa textual do gráfico: visível quando expandida */
.fz-grafico-dados {margin-top:15px;border:1px solid rgba(144,214,64,.35);padding:12px 15px;border-radius:14px;}
.fz-grafico-dados summary{cursor:pointer;min-height:38px;display:list-item;font-weight:750;}
.fz-grafico-rolagem{max-height:270px;overflow:auto;margin-top:10px;}
.fz-grafico-dados table{width:100%;border-collapse:collapse;font-size:13px;}
.fz-grafico-dados th,.fz-grafico-dados td{padding:8px;text-align:left;border-bottom:1px solid rgba(145,184,132,.25);}
.fz-grafico-dados th{font-weight:800;}
@media (prefers-reduced-motion:reduce) {
 .fz-aviso{animation:none;}.fz-ajuda-flutuante,.fz-tour-painel *{transition:none!important;animation:none!important;}
 .fz-tour-alvo{scroll-behavior:auto!important;}
}
