/* Recepção: check-in na entrada. Uma tela só para todos os convites e temas.
   A estrutura é fixa; o tema muda só as variáveis abaixo (cores e fontes).
   Tema sem bloco próprio recebe as cores tiradas da amostra dele
   (CVT_Recepcao::cores_tema). O verde de "chegou" é o mesmo em todos,
   porque ele é sinal, não enfeite. */

.cvtr{
  --fundo:#F6F4EF; --papel:#FFFFFF;
  --tinta:#2F3A2B; --suave:#5F6B59;
  --destaque:#3F5A38; --destaque-claro:#E8F0E5; --acento:#C9A24B;
  --ok:#1F7A47; --ok-claro:#E1F3E7; --perigo:#B3261E;
  --borda:rgba(63,90,56,.18);
  --sombra:0 1px 2px rgba(20,20,10,.04), 0 8px 24px rgba(20,20,10,.06);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Quicksand','Trebuchet MS',-apple-system,sans-serif;
  --titulo:var(--serif);

  min-height:100vh; min-height:100dvh;
  background:
    radial-gradient(900px 520px at 100% -10%, color-mix(in srgb, var(--acento) 16%, transparent), transparent 70%),
    radial-gradient(800px 600px at -10% 110%, color-mix(in srgb, var(--destaque) 10%, transparent), transparent 70%),
    var(--fundo);
  background-attachment:fixed;
  color:var(--tinta);
  font-family:var(--sans); font-size:16px; line-height:1.45;
  -webkit-text-size-adjust:100%;
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
}
.cvtr.tema-jardim{
  --fundo:#FBF7F1; --tinta:#37402F; --suave:#5F6B59;
  --destaque:#3F5A38; --destaque-claro:#E8F0E5; --acento:#D99AAE;
  --borda:rgba(126,158,118,.30);
}
.cvtr.tema-realeza{
  --fundo:#FCF3F1; --papel:#FFFCFB; --tinta:#4A2E2C; --suave:#86605D;
  --destaque:#9C3F48; --destaque-claro:#FBE7E5; --acento:#C79A4B;
  --borda:rgba(199,154,75,.38);
  --serif:'Playfair Display',Georgia,serif; --sans:'Jost','Trebuchet MS',sans-serif;
}
.cvtr.tema-sunshine{
  --fundo:#FDF6EF; --papel:#FFFDF9; --tinta:#5E4440; --suave:#8E716C;
  --destaque:#B8506A; --destaque-claro:#FCE8EB; --acento:#F3C95E;
  --borda:rgba(224,122,137,.30);
  --serif:'Lora',Georgia,serif; --sans:'Nunito','Trebuchet MS',sans-serif;
  --titulo:'Dancing Script','Lora',cursive;
}
.cvtr, .cvtr *{box-sizing:border-box}
.cvtr p, .cvtr h1, .cvtr h2, .cvtr h3, .cvtr ol{margin:0}
.cvtr ul{list-style:none; margin:0; padding:0}
.cvtr a{color:inherit; text-decoration:none}
.cvtr button, .cvtr input{font-family:inherit; font-size:inherit; letter-spacing:normal; text-transform:none}
.cvtr button{cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation}
.cvtr [hidden]{display:none !important}
.cvtr :focus-visible{outline:3px solid color-mix(in srgb, var(--acento) 70%, transparent); outline-offset:2px}
body.cvt-app{margin:0; background:var(--cvt-fundo-app, #F6F4EF)}
body.cvtr-travado{overflow:hidden}

/* ==========================================================================
   Topo
   ========================================================================== */
.cvtr-topo{
  background:color-mix(in srgb, var(--papel) 88%, transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(10px); backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--borda);
}
.cvtr-topo-dentro{
  max-width:1360px; margin:0 auto; padding:14px 16px;
  display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px;
}
.cvtr-marca{display:flex; align-items:center; gap:12px; min-width:0}
.cvtr-marca-icone{width:46px; height:auto; flex:none}
.cvtr-evento{font-size:11.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--suave)}
.cvtr h1{font-family:var(--titulo); font-weight:600; font-size:30px; line-height:1.05; color:var(--destaque)}
.cvtr-quando{display:flex; flex-wrap:wrap; align-items:center; gap:6px; order:3; width:100%}
.cvtr-chip{
  padding:5px 12px; border-radius:99px; font-size:13px; font-weight:700;
  background:var(--destaque-claro); color:var(--destaque);
}
.cvtr-topo-direita{margin-left:auto; display:flex; align-items:center; gap:10px}
.cvtr-sinc{
  display:inline-flex; margin-left:auto; align-items:center; gap:8px; padding:4px 4px 4px 12px; border-radius:99px;
  border:1px solid var(--borda); background:var(--papel); font-size:13px; font-weight:700; color:var(--suave);
}
.cvtr-sinc-ponto{width:8px; height:8px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 0 rgba(31,122,71,.5); animation:cvtr-pulso 2.4s ease-out infinite}
@keyframes cvtr-pulso{0%{box-shadow:0 0 0 0 rgba(31,122,71,.45)} 70%{box-shadow:0 0 0 8px rgba(31,122,71,0)} 100%{box-shadow:0 0 0 0 rgba(31,122,71,0)}}
.cvtr-sinc-erro .cvtr-sinc-ponto{background:var(--perigo); animation:none}
.cvtr-sinc-erro{color:var(--perigo)}
.cvtr-sinc-botao{
  display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;
  border:0; border-radius:50%; background:var(--destaque-claro); color:var(--destaque);
}
.cvtr-sinc-girando .cvtr-sinc-botao svg{animation:cvtr-gira .8s linear infinite}
@keyframes cvtr-gira{to{transform:rotate(360deg)}}
.cvtr-topo-acoes{display:flex; align-items:center; gap:6px; flex:none}
.cvtr-topo-acoes a{
  font-size:13.5px; font-weight:800; color:var(--destaque);
  border:1.5px solid var(--borda); border-radius:999px; padding:8px 14px; background:var(--papel);
}
.cvtr-topo-acoes a:hover{border-color:var(--destaque)}
.cvtr-quem{display:none; font-size:13px; color:var(--suave); padding:0 4px}

/* ==========================================================================
   Corpo
   ========================================================================== */
.cvtr-corpo{max-width:1360px; margin:0 auto; padding:16px 16px 0; display:grid; grid-template-columns:minmax(0,1fr); gap:18px}
.cvtr-principal{min-width:0}

/* ---------- placar ---------- */
.cvtr-placar{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.cvtr-casa{
  position:relative; padding:14px 14px 13px; border-radius:20px;
  background:var(--papel); border:1px solid var(--borda); box-shadow:var(--sombra); overflow:hidden;
}
.cvtr-casa-rot{font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--suave)}
.cvtr-casa-num{display:flex; align-items:baseline; gap:6px; margin-top:4px}
.cvtr-casa-num b{font-size:38px; line-height:1; font-weight:800; color:var(--tinta); font-variant-numeric:tabular-nums}
.cvtr-casa-num small{font-size:14px; font-weight:700; color:inherit; opacity:.75}
.cvtr-casa-sub{margin-top:6px; font-size:12.5px; color:var(--suave)}
.cvtr-casa-forte{background:var(--destaque); border-color:transparent; color:#FFFFFF}
.cvtr-casa-forte .cvtr-casa-rot, .cvtr-casa-forte .cvtr-casa-sub{color:rgba(255,255,255,.82)}
.cvtr-casa-forte .cvtr-casa-num b{color:#FFFFFF}
.cvtr-casa-faltam::before{content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--acento)}
.cvtr-barra{height:7px; margin-top:10px; border-radius:99px; background:rgba(255,255,255,.22); overflow:hidden}
.cvtr-barra span{display:block; height:100%; width:0; border-radius:99px; background:#FFFFFF; transition:width .4s ease}
.cvtr-todos-chegaram .cvtr-casa-forte{background:var(--ok)}

/* ---------- busca, QR e filtros ---------- */
.cvtr-ferramentas{
  position:sticky; top:0; z-index:6; margin:14px -16px 0; padding:10px 16px 10px;
  background:color-mix(in srgb, var(--fundo) 92%, transparent);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.cvtr-busca-linha{display:flex; gap:8px}
.cvtr-busca{
  position:relative; flex:1; min-width:0; display:flex; align-items:center;
  background:var(--papel); border:2px solid var(--borda); border-radius:16px; box-shadow:var(--sombra);
}
.cvtr-busca:focus-within{border-color:var(--destaque)}
.cvtr-busca svg{flex:none; margin-left:14px; color:var(--suave)}
.cvtr-busca input{
  flex:1; min-width:0; height:54px; padding:0 10px; border:0; background:transparent;
  font-size:17px; color:var(--tinta); outline:0; -webkit-appearance:none; appearance:none;
}
.cvtr-busca input::placeholder{color:var(--suave); opacity:.8}
.cvtr-busca input::-webkit-search-cancel-button{display:none}
.cvtr-busca #cvtr-limpar{
  flex:none; width:44px; height:44px; margin-right:5px; border:0; border-radius:12px;
  background:var(--destaque-claro); font-size:24px; line-height:1; color:var(--destaque);
}
.cvtr-atalho{display:none; margin-right:12px; padding:2px 8px; border-radius:7px; border:1px solid var(--borda); font:700 12px/1.4 var(--sans); color:var(--suave)}
.cvtr-ler{
  flex:none; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:54px; padding:0 16px; border-radius:16px; border:0;
  background:var(--destaque); color:#FFFFFF; font-size:15px; font-weight:800; box-shadow:var(--sombra);
}
.cvtr-ler{width:58px; padding:0}
.cvtr-ler span{display:none}
.cvtr-ler em{font-style:normal}
.cvtr-sinc-rot{display:none}
.cvtr-ler:hover{filter:brightness(1.08)}
.cvtr-dica{display:none; margin-top:6px; font-size:12.5px; color:var(--suave)}

.cvtr-filtros{display:flex; gap:6px; margin-top:10px; overflow-x:auto; scrollbar-width:none}
.cvtr-filtros::-webkit-scrollbar{display:none}
.cvtr-filtros button{
  flex:1 0 auto; min-height:42px; padding:0 14px; border-radius:99px; border:1.5px solid var(--borda);
  background:var(--papel); color:var(--suave); font-size:14px; font-weight:800; white-space:nowrap;
}
.cvtr-filtros button i{
  display:inline-block; min-width:24px; margin-left:4px; padding:1px 7px; border-radius:99px;
  font-style:normal; font-size:12.5px; background:var(--destaque-claro); color:var(--destaque);
}
.cvtr-filtros button[aria-pressed="true"]{background:var(--destaque); border-color:var(--destaque); color:#FFFFFF}
.cvtr-filtros button[aria-pressed="true"] i{background:rgba(255,255,255,.2); color:#FFFFFF}

.cvtr-offline{margin-top:12px; padding:10px 14px; border-radius:12px; background:#FFF3CD; color:#6B4E00; font-size:14px; font-weight:700}

/* ---------- lista ---------- */
.cvtr-lista{margin-top:12px}
.cvtr-lista > .cvtr-ficha{margin-bottom:12px; break-inside:avoid; -webkit-column-break-inside:avoid}
.cvtr-ficha{
  position:relative; background:var(--papel); border-radius:20px; padding:14px 14px 4px 18px;
  border:1px solid var(--borda); box-shadow:var(--sombra); overflow:hidden;
}
.cvtr-ficha::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--borda)}
.cvtr-ficha.cvtr-parcial::before{background:var(--acento)}
.cvtr-ficha.cvtr-completa::before{background:var(--ok)}
.cvtr-ficha.cvtr-completa{background:linear-gradient(180deg, color-mix(in srgb, var(--ok-claro) 55%, var(--papel)), var(--papel) 70%)}
.cvtr-ficha.cvtr-destaque{animation:cvtr-pisca 1.6s ease 2}
@keyframes cvtr-pisca{50%{box-shadow:0 0 0 4px rgba(31,122,71,.25)}}

.cvtr-ficha-topo{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding-bottom:10px}
.cvtr-ficha-titulo{min-width:0}
.cvtr-ficha h3{font-size:17.5px; font-weight:800; line-height:1.25; color:var(--tinta); overflow-wrap:anywhere}
.cvtr-ficha-info{margin-top:2px; font-size:13px; color:var(--suave); font-variant-numeric:tabular-nums}
.cvtr-selo{
  flex:none; padding:4px 10px; border-radius:99px; font-size:12px; font-weight:800; white-space:nowrap;
  background:color-mix(in srgb, var(--suave) 12%, transparent); color:var(--suave);
}
.cvtr-parcial .cvtr-selo{background:color-mix(in srgb, var(--acento) 22%, transparent); color:var(--tinta)}
.cvtr-completa .cvtr-selo{background:var(--ok); color:#FFFFFF}

.cvtr-pessoas{border-top:1px dashed var(--borda)}
.cvtr-pessoa{
  display:flex; align-items:center; gap:10px;
  min-height:58px; padding:6px 0; border-bottom:1px dashed var(--borda);
}
.cvtr-pessoa:last-child{border-bottom:0}
.cvtr-pessoa-marca{flex:none; width:22px; height:22px; border-radius:50%; border:2px solid var(--borda); background:var(--papel)}
.cvtr-chegou .cvtr-pessoa-marca{
  border-color:var(--ok);
  background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center/14px no-repeat;
}
.cvtr-pessoa-nome{flex:1; font-size:16px; font-weight:700; min-width:0; overflow-wrap:anywhere}
.cvtr-pessoa.cvtr-chegou .cvtr-pessoa-nome{color:var(--suave); font-weight:600}
.cvtr-pessoa.cvtr-casa .cvtr-pessoa-nome{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--acento) 45%, transparent) 58%)}

.cvtr-tag{
  display:inline-block; margin-left:6px; padding:1px 8px; border-radius:99px;
  font-style:normal; font-size:11.5px; font-weight:800; letter-spacing:.03em; vertical-align:2px;
}
.cvtr-tag-crianca{background:#E1EEF7; color:#2F5F80}
.cvtr-tag-porta{background:var(--destaque-claro); color:var(--destaque)}

.cvtr-marcar, .cvtr-ok, .cvtr-desfazer{
  flex:none; min-width:112px; min-height:46px; padding:0 14px; border-radius:14px;
  font-size:15.5px; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.cvtr-marcar{background:var(--papel); color:var(--destaque); border:2px solid var(--destaque)}
.cvtr-marcar:hover{background:var(--destaque); color:#FFFFFF}
.cvtr-marcar:active{transform:scale(.98)}
.cvtr-ok{background:var(--ok-claro); color:var(--ok); border:2px solid transparent; font-variant-numeric:tabular-nums}
.cvtr-desfazer{background:#FFFFFF; color:var(--perigo); border:2px solid var(--perigo)}

.cvtr-ficha-pe{padding:10px 0 12px; border-top:1px dashed var(--borda)}
.cvtr-todos{
  width:100%; min-height:46px; padding:0 14px; border-radius:14px;
  border:0; background:var(--destaque); color:#FFFFFF; font-size:15px; font-weight:800;
}
.cvtr-todos:hover{filter:brightness(1.08)}

.cvtr-vazio{
  margin-top:14px; padding:26px 18px; text-align:center; color:var(--suave);
  background:color-mix(in srgb, var(--papel) 60%, transparent); border:1.5px dashed var(--borda); border-radius:20px;
}
.cvtr-vazio .cvtr-botao{width:auto; margin-top:12px}

.cvtr-foco{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:12px; padding:10px 12px 10px 14px; border-radius:14px;
  background:var(--destaque-claro); color:var(--destaque); font-size:14.5px;
}
.cvtr-foco button{flex:none; border:0; border-radius:10px; padding:8px 12px; background:var(--papel); color:var(--destaque); font-weight:800}

/* ---------- coluna lateral ---------- */
.cvtr-lado{display:flex; flex-direction:column; gap:14px; min-width:0}
.cvtr-bloco{background:var(--papel); border:1px solid var(--borda); border-radius:20px; padding:16px; box-shadow:var(--sombra)}
.cvtr-bloco h2{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--suave); margin-bottom:10px}
.cvtr-bloco-porta{display:none; background:linear-gradient(160deg, var(--destaque-claro), var(--papel) 75%)}
.cvtr-bloco-porta h2{font-family:var(--titulo); font-size:22px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--destaque); margin-bottom:4px}
.cvtr-bloco-porta p{font-size:14px; color:var(--suave); margin-bottom:12px}

.cvtr-recentes li + li{border-top:1px solid var(--borda)}
.cvtr-recentes button{
  display:flex; align-items:flex-start; gap:12px; width:100%; padding:9px 2px; border:0; background:none;
  text-align:left; color:var(--tinta);
}
.cvtr-recentes button:hover b{color:var(--destaque)}
.cvtr-recentes time{
  flex:none; min-width:52px; padding:2px 0; border-radius:8px; text-align:center;
  background:var(--ok-claro); color:var(--ok); font-size:13px; font-weight:800; font-variant-numeric:tabular-nums;
}
.cvtr-recentes span{min-width:0}
.cvtr-recentes b{display:block; font-size:15px; font-weight:700; overflow-wrap:anywhere}
.cvtr-recentes small{display:block; font-size:12.5px; color:var(--suave)}
.cvtr-recentes-vazio{font-size:14px; color:var(--suave)}

.cvtr-ajuda ol{padding-left:20px; font-size:14px; color:var(--tinta)}
.cvtr-ajuda li + li{margin-top:6px}
.cvtr-ajuda p{margin-top:10px; font-size:13px; color:var(--suave)}

/* ---------- barra de baixo (celular) ---------- */
.cvtr-barra-baixo{
  position:fixed; left:0; right:0; bottom:0; z-index:12; display:flex; gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--papel) 94%, transparent);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-top:1px solid var(--borda); box-shadow:0 -8px 24px rgba(0,0,0,.08);
}
.cvtr-barra-baixo .cvtr-botao{flex:1; min-height:50px; font-size:15px}

/* ---------- botões ---------- */
.cvtr-botao{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:100%; min-height:52px; padding:0 18px; border-radius:16px; border:0;
  background:var(--destaque); color:#FFFFFF; font-size:16px; font-weight:800; text-align:center;
}
.cvtr-botao:hover{filter:brightness(1.08)}
.cvtr-botao-claro{background:var(--papel); color:var(--destaque); border:2px solid var(--borda)}
.cvtr-botao-claro:hover{filter:none; border-color:var(--destaque)}
.cvtr-botao[disabled]{opacity:.6}

/* ---------- folha: chegou sem confirmar ---------- */
.cvtr-folha{position:fixed; inset:0; z-index:20; display:flex; align-items:flex-end; justify-content:center}
.cvtr-folha-fundo{position:absolute; inset:0; background:rgba(20,14,8,.45)}
.cvtr-folha-caixa{
  position:relative; width:100%; max-width:560px; max-height:92vh; overflow:auto;
  background:var(--papel); border-radius:22px 22px 0 0;
  padding:22px 18px calc(18px + env(safe-area-inset-bottom));
  animation:cvtr-sobe .22s ease both;
}
@keyframes cvtr-sobe{from{transform:translateY(30px); opacity:0} to{transform:none; opacity:1}}
.cvtr-folha-caixa h2{font-family:var(--titulo); font-size:26px; font-weight:600; color:var(--destaque)}
.cvtr-folha-apoio{margin:4px 0 14px; font-size:14.5px; color:var(--suave)}
.cvtr-folha-caixa label, .cvtr-porta-rotulo{display:block; margin:12px 0 6px; font-size:14px; font-weight:800; color:var(--tinta)}
.cvtr-folha-caixa input[type=text], .cvtr-form-entrar input[type=email], .cvtr-form-entrar input[type=password]{
  width:100%; height:50px; padding:0 14px; border-radius:14px;
  border:2px solid var(--borda); background:var(--fundo); color:var(--tinta); font-size:17px; outline:0;
}
.cvtr-folha-caixa input:focus, .cvtr-form-entrar input:focus{border-color:var(--destaque); background:#FFFFFF}
.cvtr-porta-grupo{margin-top:6px}
.cvtr-porta-nomes{display:flex; flex-direction:column; gap:8px}
.cvtr-porta-linha{display:flex; gap:8px}
.cvtr-porta-linha button{flex:none; width:50px; border-radius:14px; border:2px solid var(--borda); background:var(--papel); font-size:24px; color:var(--suave)}
.cvtr-mais{margin-top:8px; border:0; background:none; padding:6px 0; color:var(--destaque); font-weight:800; font-size:15px}
.cvtr-erro{min-height:1.3em; margin-top:10px; color:var(--perigo); font-weight:700; font-size:14.5px}
.cvtr-folha-acoes{display:flex; gap:10px; margin-top:12px}

/* ---------- câmera ---------- */
.cvtr-camera{position:fixed; inset:0; z-index:25; background:rgba(12,9,6,.92); display:flex; align-items:center; justify-content:center; padding:16px}
.cvtr-camera-caixa{width:100%; max-width:460px; text-align:center; color:#FFFFFF}
.cvtr-camera-video{position:relative; width:100%; aspect-ratio:1/1; border-radius:22px; overflow:hidden; background:#000}
.cvtr-camera-video video{width:100%; height:100%; object-fit:cover; display:block}
.cvtr-mira{position:absolute; inset:18%; border:3px solid rgba(255,255,255,.9); border-radius:18px; box-shadow:0 0 0 999px rgba(0,0,0,.25)}
.cvtr-camera-aviso{margin:14px 4px; font-size:15.5px; font-weight:600}
.cvtr-camera .cvtr-botao-claro{background:transparent; color:#FFFFFF; border-color:rgba(255,255,255,.5)}

/* ---------- aviso flutuante ---------- */
.cvtr-toast{
  position:fixed; left:50%; bottom:calc(84px + env(safe-area-inset-bottom)); z-index:30;
  transform:translate(-50%,20px); opacity:0; transition:transform .2s ease, opacity .2s ease;
  display:flex; align-items:center; gap:14px; width:max-content; max-width:calc(100% - 28px);
  padding:12px 12px 12px 18px; border-radius:16px;
  background:#22201C; color:#FFFFFF; font-size:15px; font-weight:600;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.cvtr-toast.cvtr-toast-on{transform:translate(-50%,0); opacity:1}
.cvtr-toast button{flex:none; border:0; border-radius:10px; padding:8px 12px; background:rgba(255,255,255,.14); color:#FFD98A; font-weight:800}

/* ---------- entrada (login) ---------- */
.cvtr-portao{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 16px}
.cvtr-portao-caixa, .cvtr-portao > h1{width:100%; max-width:440px}
.cvtr-portao-caixa{background:var(--papel); border-radius:24px; padding:30px 22px; border:1px solid var(--borda); box-shadow:var(--sombra)}
.cvtr-portao h1{font-size:36px; margin-top:4px}
.cvtr-portao-apoio{margin:8px 0 6px; color:var(--suave)}
.cvtr-portao > h1 + p{max-width:440px; margin:10px 0 18px; color:var(--suave); text-align:center}
.cvtr-portao > .cvtr-botao{max-width:440px}
.cvtr-form-entrar label{display:block; margin:14px 0 6px; font-weight:800; font-size:14px}
.cvtr-form-entrar .cvtr-lembrar{display:flex; align-items:center; gap:8px; font-weight:600; color:var(--suave)}
.cvtr-form-entrar .cvtr-botao{margin-top:16px}
.cvtr-erro-caixa{padding:10px 12px; border-radius:12px; background:#FDECEA}
.cvtr input[type=checkbox]{accent-color:var(--destaque); width:18px; height:18px}

/* assinatura do Grupo MD TEC */
.cvtr .cvt-credito{display:flex; align-items:center; justify-content:center; gap:8px; margin:14px 0 0; font-size:12px; color:var(--suave); opacity:.85}
.cvtr .cvt-credito a{color:var(--destaque); border-bottom:1px solid var(--borda)}
.cvtr .cvt-marca{width:22px; height:auto}

/* detalhes de cada tema antigo: só aparência, a estrutura é a mesma */
.cvtr.tema-sunshine .cvtr-topo{background:linear-gradient(115deg,#FFF6E1,#FDE6EA)}
.cvtr.tema-sunshine h1{font-weight:700}
.cvtr.tema-sunshine .cvtr-tag-crianca{background:#FBEBC2; color:#8A5A00}
.cvtr.tema-realeza .cvtr-topo{background:linear-gradient(115deg,#FFF9F6,#FBE7E5)}
.cvtr.tema-jardim .cvtr-topo{background:linear-gradient(115deg,#FFFDF8,#EEF4EA)}

/* ==========================================================================
   Telas maiores
   ========================================================================== */
@media (min-width:600px){
  .cvtr-placar{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cvtr-quando{order:0; width:auto; flex:1}
  .cvtr-ler{width:auto; padding:0 16px}
  .cvtr-ler span, .cvtr-sinc-rot{display:inline}
  .cvtr-dica{display:block}
  .cvtr-filtros button{flex:0 0 auto}
}
@media (min-width:720px){
  .cvtr-folha{align-items:center}
  .cvtr-folha-caixa{border-radius:24px}
  .cvtr-lista{columns:330px; column-gap:12px}
}
@media (min-width:1024px){
  .cvtr{padding-bottom:40px}
  .cvtr-topo{position:sticky; top:0; z-index:8}
  .cvtr-topo-dentro{padding:16px 28px}
  .cvtr h1{font-size:34px}
  .cvtr-quem{display:inline}
  .cvtr-corpo{grid-template-columns:minmax(0,1fr) 340px; gap:24px; padding:24px 28px 0}
  .cvtr-ferramentas{
    top:79px; margin:16px 0 0; padding:16px; border-radius:22px;
    background:var(--papel); border:1px solid var(--borda); box-shadow:var(--sombra);
  }
  .cvtr-ferramentas .cvtr-busca{box-shadow:none}
  .cvtr-atalho{display:inline-block}
  .cvtr-busca input:not(:placeholder-shown) ~ .cvtr-atalho{display:none}
  .cvtr-lado{position:sticky; top:103px; align-self:start; max-height:calc(100vh - 120px); overflow:auto; scrollbar-width:thin}
  .cvtr-bloco-porta{display:block}
  .cvtr-barra-baixo{display:none}
  .cvtr-toast{bottom:28px}
  .cvtr-casa{padding:18px 18px 16px}
  .cvtr-casa-num b{font-size:44px}
}
@media (min-width:1500px){
  .cvtr-corpo{max-width:1520px}
  .cvtr-topo-dentro{max-width:1520px}
}
@media (prefers-reduced-motion:reduce){
  .cvtr *{animation:none !important; transition:none !important}
}
