<?php
require_once __DIR__.'/../config/config.php';
require_once __DIR__.'/../config/database.php';
require_once __DIR__.'/../includes/functions.php';
requireLogin();
$uid=(int)$_SESSION['usuario_id'];$profile=afBuscarPerfilIdade($pdo,$uid);$errors=[];$success='';
if(!$profile || (int)$profile['idade_declarada']<18){header('Location: '.SITE_URL.'/pages/verificar-idade.php');exit;}
if($_SERVER['REQUEST_METHOD']==='POST'){
 if(!validarCsrfToken($_POST[CSRF_TOKEN_NAME]??''))$errors[]='Sessão expirada. Recarregue a página.';
 elseif(($_POST['action']??'')==='send'){
  try{afAgeAssuranceSendEmailCode($pdo,$uid);$success='Código enviado para o e-mail da conta.';}catch(Throwable $e){$errors[]=$e->getMessage();}
 }elseif(($_POST['action']??'')==='verify'){
  try{$r=afAgeAssuranceVerifyEmailCode($pdo,$uid,(string)($_POST['code']??''));if(!empty($r['ready'])){setFlash('success','Maioridade confirmada pelo fluxo interno.');header('Location: '.SITE_URL.'/pages/home.php');exit;}$success='E-mail confirmado. A conta permanece em revisão de segurança.';}catch(Throwable $e){$errors[]=$e->getMessage();}
 }
}
$status=afAgeAssuranceStatus($pdo,$uid);$u=usuarioAtual();
$pageTitle='Confirmar maioridade';$showNav=false;require_once __DIR__.'/../includes/header.php';
?>
<main class="age-gate-shell"><section class="age-gate-card fade-in"><div class="age-gate-logo">🛡️</div><p class="eyebrow">SEGURANÇA ETÁRIA</p><h1>CONFIRME SEU E-MAIL</h1>
<p class="age-gate-lead">A data de nascimento declarada não é tratada como prova definitiva. Para liberar câmera e recursos sociais, o sistema confirma o e-mail e analisa sinais de risco e dispositivo.</p>
<?php if($errors):?><div class="flash flash--error"><span>✕</span><ul class="error-list"><?php foreach($errors as $e):?><li><?=esc($e)?></li><?php endforeach?></ul></div><?php endif?>
<?php if($success):?><div class="flash flash--success"><span>✓</span><p><?=esc($success)?></p></div><?php endif?>
<div class="age-status-panel"><span><?=!empty($status['ready'])?'✓':'🔒'?></span><div><strong><?=esc(!empty($status['ready'])?'Maioridade confirmada':'Confirmação pendente')?></strong><p><?=esc((string)$status['message'])?></p></div></div>
<div class="age-info-grid"><div><small>E-MAIL</small><b><?=esc(function_exists('afGuardianMaskEmail')?afGuardianMaskEmail((string)($u['email']??'')):(string)($u['email']??''))?></b></div><div><small>MÉTODO</small><b>E-mail + risco + dispositivo</b></div></div>
<?php if(empty($status['ready'])):?><form method="post" class="age-gate-form"><?=camposCsrf()?><input type="hidden" name="action" value="send"><button class="btn btn-secondary" type="submit">ENVIAR CÓDIGO</button></form>
<form method="post" class="age-gate-form"><?=camposCsrf()?><input type="hidden" name="action" value="verify"><label>Código recebido<div class="form-field"><span class="field-icon">#</span><input class="form-input" name="code" inputmode="numeric" maxlength="6" pattern="[0-9]{6}" required></div></label><button class="btn btn-primary" type="submit">CONFIRMAR CÓDIGO</button></form><?php endif?>
<p class="age-lock-note">Contas suspeitas continuam bloqueadas e são encaminhadas para revisão administrativa. Este fluxo não armazena documento, selfie ou biometria.</p><a class="btn btn-secondary" href="<?=SITE_URL?>/auth/logout.php">SAIR</a></section></main>
<?php require_once __DIR__.'/../includes/footer.php';?>
