/* Girelo — Seu negócio em movimento. */
@font-face{font-family:"Outfit";src:url("/static/fontes/Outfit-VF.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("/static/fontes/Inter-VF.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{
  /* paleta da marca */
  --abyss:#062A29; --deep:#0B4643; --teal:#14726E; --ocean:#2E9CA6; --mint:#5BD89C; --glow:#9BF0C4;
  --ink-marca:#05313A; --slate:#4A6772; --mist:#E6F2EF; --paper:#F7FAF9;
  --gradiente:linear-gradient(135deg,#5BD89C 0%,#14726E 45%,#0B4643 75%,#2A95A2 100%);
  /* papéis na interface */
  --bg:var(--paper); --card:#FFFFFF; --ink:var(--ink-marca); --muted:var(--slate); --line:#DCE9E5;
  --verde:var(--teal); --verde-2:var(--ocean); --verde-claro:var(--mist); --escuro:var(--abyss);
  --amarelo:#F2B33D; --amarelo-claro:#FDF1D8; --vermelho:#D9474D; --vermelho-claro:#FBE4E4;
  --azul:#2E7FA6; --azul-claro:#E1F0F6;
  --r:22px; --r-sm:14px; --sombra:0 1px 2px rgba(6,42,41,.05),0 10px 28px rgba(6,42,41,.07);
  --ease:cubic-bezier(.22,.8,.24,1);
  --fonte-titulo:"Outfit",system-ui,sans-serif; --fonte-texto:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:14.5px/1.55 var(--fonte-texto);-webkit-font-smoothing:antialiased}
a{color:var(--verde);text-decoration:none}
h1{font:700 30px/1.15 var(--fonte-titulo);margin:0 0 6px;letter-spacing:-.02em}
h2{font:600 18px/1.3 var(--fonte-titulo);margin:0 0 14px;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 22px}

/* layout */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:linear-gradient(rgba(6,42,41,.55),rgba(6,42,41,.55)),url("/static/marca/girelo-pattern-fluxo-escuro.svg") 0 0/420px auto,var(--abyss);color:#CDE6DE;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.marca{display:block;padding:2px 8px 18px}
.marca img{height:58px;margin-left:-14px;display:block;transition:transform .5s var(--ease)}
.marca:hover img{transform:translateX(3px)}
.marca-simbolo{animation:gira 1.6s var(--ease) both}
@keyframes gira{from{transform:translateY(10px) scale(.94);opacity:0}to{transform:none;opacity:1}}
.side a.marca:hover{background:none;transform:none}
.side .grupo{font:600 11px var(--fonte-titulo);text-transform:uppercase;letter-spacing:.14em;color:#6FA99A;margin:16px 10px 6px}
.side a{display:flex;align-items:center;gap:11px;color:#CDE6DE;padding:9px 12px;border-radius:14px;font-weight:500;transition:background .25s var(--ease),transform .25s var(--ease)}
.side a:hover{background:rgba(255,255,255,.07);transform:translateX(3px)}
.side a.ativo{background:rgba(91,216,156,.16);color:#fff}
.ico{width:19px;height:19px;flex:none}
.side a .ico{opacity:.85}.side a.ativo .ico{opacity:1}
.side .pill{margin-left:auto;background:var(--mint);color:var(--abyss);border-radius:999px;font-size:11px;padding:1px 8px;font-weight:800}
.side form{margin-top:18px}
.side .rodape{font-size:12px;color:#6FA99A;padding:16px 12px 0}
main{padding:30px 34px 60px;max-width:1320px;width:100%}
.topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}

/* cards e grids */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sombra);padding:22px;animation:sobe .45s var(--ease) both}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g2{grid-template-columns:repeat(2,1fr)}
.kpi{position:relative;overflow:hidden}
.kpi .rot{color:var(--muted);font-size:13px;font-weight:600}
.kpi .val{font:700 34px/1.1 var(--fonte-titulo);letter-spacing:-.03em;margin-top:4px}
.kpi .det{font-size:13px;color:var(--muted)}

.kpi.alerta::after{background:var(--vermelho-claro)} .kpi.aviso::after{background:var(--amarelo-claro)}
.grid > .card:nth-child(2){animation-delay:.04s}.grid > .card:nth-child(3){animation-delay:.08s}.grid > .card:nth-child(4){animation-delay:.12s}
@keyframes sobe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mt{margin-top:18px}

/* barra de progresso */
.barra{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:10px}
.barra i{display:block;height:100%;border-radius:99px;background:var(--teal);transition:width 1.1s var(--ease);animation:enche 1s var(--ease) both}
@keyframes enche{from{width:0!important}}

/* tabelas */
table{width:100%;border-collapse:separate;border-spacing:0}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line)}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .2s}
tbody tr:hover{background:#F8FAF6}
.tab-wrap{overflow-x:auto}

/* selos */
.selo{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.s-ok{background:var(--verde-claro);color:var(--verde)} .s-av{background:var(--amarelo-claro);color:#8A5A00}
.s-er{background:var(--vermelho-claro);color:var(--vermelho)} .s-in{background:var(--azul-claro);color:var(--azul)}
.s-ne{background:#EEF0EC;color:var(--muted)}
.selo.vivo::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:pisca 1.4s infinite}
@keyframes pisca{50%{opacity:.25}}

/* botões e forms */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:14px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;background:var(--verde);color:#fff;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,114,110,.28)}
.btn:active{transform:translateY(0)}
.btn.sec{background:#EAEDE7;color:var(--ink)} .btn.sec:hover{box-shadow:none;background:#E1E5DD}
.btn.perigo{background:var(--vermelho)} .btn.amarelo{background:var(--teal);color:#fff}
.btn.peq{padding:6px 11px;font-size:13px;border-radius:10px}
.side .btn{width:100%;justify-content:center;background:rgba(255,255,255,.08)}
.side .btn:hover{background:rgba(255,255,255,.14);box-shadow:none}
label{display:block;font-weight:700;font-size:13px;margin:0 0 6px}
input,select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:border .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--verde-2);box-shadow:0 0 0 4px var(--verde-claro)}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--verde);vertical-align:middle}
.campo{margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.dias{display:flex;gap:8px;flex-wrap:wrap}
.dias label{display:flex;align-items:center;gap:6px;background:#F2F4EF;padding:7px 12px;border-radius:10px;font-weight:600;cursor:pointer}
.acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.filtros a{padding:7px 14px;border-radius:999px;background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sombra);transition:all .2s}
.filtros a.ativo{background:var(--teal);color:#fff}
.aviso{border-radius:14px;padding:12px 16px;margin-bottom:18px;font-weight:600;animation:sobe .4s var(--ease)}
.aviso.ok{background:var(--verde-claro);color:var(--verde)} .aviso.er{background:var(--vermelho-claro);color:var(--vermelho)}
.aviso.info{background:var(--azul-claro);color:var(--azul)}
.ajuda{color:var(--muted);font-size:13px}
code,pre{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
pre{background:var(--abyss);color:var(--glow);border-radius:14px;padding:16px;overflow:auto}

/* fotos */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.foto{position:relative;border-radius:16px;overflow:hidden;background:#DDE2DA;aspect-ratio:4/5;display:block;box-shadow:var(--sombra);animation:sobe .45s var(--ease) both;transition:transform .3s var(--ease)}
.foto:hover{transform:translateY(-3px) scale(1.01)}
.foto img,.foto video{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.foto:hover img{transform:scale(1.05)}
.foto .info{position:absolute;inset:auto 0 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(10,30,25,.85));color:#fff;font-size:12.5px}
.foto .info b{display:block;font-size:13.5px}
.foto .nota{position:absolute;top:10px;right:10px;background:#fff;color:var(--ink);border-radius:12px;padding:3px 9px;font-weight:800;font-size:13px}
.foto .nota.baixa{background:var(--vermelho);color:#fff} .foto .nota.media{background:var(--amarelo)}
.foto .tag{position:absolute;top:10px;left:10px}
.detalhe-foto{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
.detalhe-foto .midia{border-radius:var(--r);overflow:hidden;background:#000}
.detalhe-foto .midia img,.detalhe-foto .midia video{width:100%;display:block;max-height:78vh;object-fit:contain}
.lista-ia{margin:0;padding:0;list-style:none}
.lista-ia li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}
.notas-escolha{display:flex;gap:6px;flex-wrap:wrap}
.notas-escolha label{margin:0}
.notas-escolha input{display:none}
.notas-escolha span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#F0F2EC;font-weight:800;cursor:pointer;transition:all .2s var(--ease)}
.notas-escolha input:checked+span{background:var(--teal);color:#fff;transform:scale(1.08)}

/* simulador de WhatsApp */
.wa{display:grid;grid-template-columns:300px 1fr;gap:18px}
.wa .contatos a{display:block;padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:600;transition:background .2s}
.wa .contatos a:hover{background:#F2F4EF} .wa .contatos a.ativo{background:var(--verde-claro);color:var(--verde)}
.wa .contatos small{display:block;color:var(--muted);font-weight:500}
.tela{background:#E9E4DA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23d8d1c3'/%3E%3C/svg%3E");border-radius:var(--r);height:62vh;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:8px}
.bolha{max-width:74%;padding:9px 12px 6px;border-radius:14px;box-shadow:0 1px 1px rgba(0,0,0,.08);white-space:pre-wrap;word-wrap:break-word;animation:sobe .3s var(--ease) both;font-size:14px}
.bolha.in{align-self:flex-end;background:#D9FDD3;border-bottom-right-radius:4px}
.bolha.out{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}
.bolha small{display:block;text-align:right;color:#7A8580;font-size:11px;margin-top:2px}
.bolha.erro{outline:2px solid var(--vermelho)}
.compor{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.compor input[type=text]{flex:1;min-width:200px}
.digitando{align-self:flex-start;background:#fff;border-radius:14px;padding:10px 14px;display:none}
.digitando i{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:#9AA59F;animation:pula 1s infinite}
.digitando i:nth-child(2){animation-delay:.15s}.digitando i:nth-child(3){animation-delay:.3s}
@keyframes pula{0%,60%,100%{transform:none}30%{transform:translateY(-5px)}}

/* login */
.login{min-height:100vh;display:grid;place-items:center;background:var(--abyss) url("/static/marca/girelo-fundo-fluxo-escuro.svg") center/cover;padding:20px}
.login .card{width:min(430px,94vw);padding:38px 36px;border-radius:28px}
.login .logo{display:block;width:230px;margin:0 auto 24px}
.login h1{text-align:center;font-size:24px}.login .sub{text-align:center}
/* matriz de regras */
.matriz td,.matriz th{text-align:center}.matriz td:first-child,.matriz th:first-child{text-align:left}

@media (max-width:1000px){
  .app{grid-template-columns:1fr}.side{position:static;height:auto}
  .g4{grid-template-columns:repeat(2,1fr)}.g3,.g2,.detalhe-foto,.wa,.form-grid{grid-template-columns:1fr}
  main{padding:20px 16px 50px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ================= 0.2.0 — layout aprovado com motion ================= */
.num{font-variant-numeric:tabular-nums}
.side{position:sticky;overflow-x:hidden}
.side>*{position:relative}
.side .ondas{position:absolute;left:0;right:0;bottom:0;height:320px;overflow:hidden;opacity:.5;pointer-events:none}
.side .ondas svg{position:absolute;left:0;bottom:0}
.onda1{animation:onda 18s linear infinite}.onda2{animation:onda 26s linear infinite reverse}
@keyframes onda{to{transform:translateX(-50%)}}
.sync{display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);font-size:12.5px}
.sync b{display:block;color:#fff;font-weight:600}.sync small{color:#9DBDB7}
.gira{animation:gira360 1.8s linear infinite;flex:none}
@keyframes gira360{to{transform:rotate(360deg)}}

.toast{position:fixed;left:50%;bottom:28px;z-index:50;display:flex;align-items:center;gap:10px;background:var(--abyss);color:#fff;border-radius:14px;padding:12px 18px;font-weight:600;box-shadow:0 16px 36px rgba(6,42,41,.3);animation:toast 3.4s var(--ease) both;pointer-events:none}
@keyframes toast{0%{opacity:0;transform:translate(-50%,20px)}8%{opacity:1;transform:translate(-50%,0)}85%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}

.entra{animation:sobe .45s var(--ease) both}
.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}.d4{animation-delay:.24s}.d5{animation-delay:.3s}.d6{animation-delay:.36s}
.titulo-linha{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vivo{display:inline-flex;align-items:center;gap:8px;background:var(--mist);color:#1E8A5E;border-radius:999px;padding:4px 12px 4px 10px;font-size:12.5px;font-weight:600}
.vivo.peq{background:none;padding:0}
.pulso{position:relative;width:8px;height:8px;border-radius:999px;background:#1E8A5E;display:inline-block}
.pulso::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid #1E8A5E;animation:pulso2 1.8s var(--ease) infinite}
@keyframes pulso2{from{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}
.card{transition:transform .32s var(--ease),box-shadow .32s var(--ease)}
.kpi:hover,a.card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(6,42,41,.06),0 16px 36px rgba(6,42,41,.12)}
.kpi .rot{display:flex;justify-content:space-between;align-items:center}
.kpi .rot .ico{color:var(--teal)}.ico-er{color:var(--vermelho);display:inline-flex}
.kpi .val{font-size:38px}.kpi .val small{font-size:19px;color:var(--muted);font-weight:500}
.kpi .val.er{color:#B53A33}
.mudou{animation:mudou 1.2s var(--ease)}
@keyframes mudou{0%{background:var(--mist)}100%{background:transparent}}
.mini{display:flex;gap:4px;align-items:flex-end;height:26px;margin-top:4px}
.mini i{flex:1;border-radius:4px;background:#F3D6D4;height:8%;transition:height 1s var(--ease)}
.mini i.hoje{background:#B53A33}
.kpi-anel{display:flex;align-items:center;gap:18px}
.anel{flex:none;transform:rotate(-90deg)}
.anel circle[data-anel]{transition:stroke-dashoffset 1.2s var(--ease)}
.kpi-escuro{background:var(--abyss);color:#fff;display:block;text-decoration:none}
.kpi-escuro .rot,.kpi-escuro .det{color:#9DBDB7}.kpi-escuro .rot .ico{color:var(--mint)}
.kpi-escuro b{color:var(--mint)}.kpi-escuro .link{display:inline-block;margin-top:10px;color:var(--mint);font-weight:600;font-size:13px}
.card-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.card-topo h2{margin:0}
.painel-meio{align-items:start}

.lojas{display:flex;flex-direction:column}
.loja-linha{display:flex;align-items:center;gap:14px;padding:12px 10px;border-top:1px solid #E6F2EF;border-radius:12px;color:var(--ink);animation:sobe .4s var(--ease) both;transition:background .25s}
.loja-linha:hover{background:#F2F8F6}
.loja-linha.mudou{animation:mudou 1.4s var(--ease)}
.loja-ico,.ev-ico{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center}
.ev-ico{width:34px;height:34px;border-radius:11px}
.t-er{background:#FBE4E4;color:#B53A33}.t-av{background:#FDF1D8;color:#A86E0B}.t-in{background:#E1F0F6;color:#1F6F8B}
.t-ok{background:#E6F2EF;color:#1E8A5E}.t-tl{background:#E6F2EF;color:#14726E}.t-ne{background:#EEF2F0;color:var(--muted)}
.loja-txt{flex:1;min-width:0}.loja-txt b{display:block;font-size:14.5px}.loja-txt small{color:var(--muted);font-size:12.5px}
.loja-nota{font:600 16px var(--fonte-titulo);width:42px;text-align:right}
.loja-linha .selo{width:108px;justify-content:center}
.s-in{background:#E1F0F6;color:#1F6F8B}

.feed{display:flex;flex-direction:column;gap:8px;max-height:430px;overflow:auto}
.evento{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:14px;border:1px solid #E6F2EF;color:var(--ink)}
.evento:hover{background:#F2F8F6}
.evento.inicial{animation:sobe .4s var(--ease) both}
.evento.chega{animation:chega .6s var(--ease) both}
@keyframes chega{0%{opacity:0;transform:translateY(-16px) scale(.97);background:var(--mist)}60%{opacity:1;transform:none;background:var(--mist)}100%{background:#fff}}
.ev-txt{flex:1;min-width:0}.ev-topo{display:flex;justify-content:space-between;gap:8px}
.ev-topo b{font-size:13.5px}.ev-txt small{display:block;color:var(--muted);font-size:12.5px}

.foto .scan{position:absolute;left:0;right:0;height:18%;top:-18%;background:linear-gradient(180deg,rgba(91,216,156,0),rgba(91,216,156,.45) 85%,#5BD89C);animation:scan 2.6s cubic-bezier(.45,0,.55,1) 3}
@keyframes scan{0%{top:-18%}100%{top:104%}}
.detalhe-foto .midia{position:relative}
.detalhe-foto .midia .scan{position:absolute;left:0;right:0;height:16%;top:-16%;background:linear-gradient(180deg,rgba(91,216,156,0),rgba(91,216,156,.4) 85%,#5BD89C);animation:scan 1.8s cubic-bezier(.45,0,.55,1) 1 both;pointer-events:none}
.lista-ia li{animation:sobe .4s var(--ease) both}
.lista-ia li:nth-child(2){animation-delay:.05s}.lista-ia li:nth-child(3){animation-delay:.1s}.lista-ia li:nth-child(4){animation-delay:.15s}
.lista-ia li:nth-child(5){animation-delay:.2s}.lista-ia li:nth-child(6){animation-delay:.25s}.lista-ia li:nth-child(7){animation-delay:.3s}

/* login dividido, com ondas em movimento */
.login2{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--paper)}
.login2 .marca-lado{flex:1 1 520px;position:relative;overflow:hidden;background:var(--abyss);color:#fff;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;box-sizing:border-box}
.login2 .marca-lado>*{position:relative}
.login2 .fundo{position:absolute;inset:0;pointer-events:none}
.login2 .fundo svg{position:absolute;left:0;top:0;height:100%}
.login2 .fundo::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 30% 30%,rgba(6,42,41,0) 0%,rgba(6,42,41,.75) 100%)}
.l-o1{animation:onda 20s linear infinite}.l-o2{animation:onda 30s linear infinite reverse}.l-o3{animation:onda 14s linear infinite}
.login2 .logo-l{width:260px;margin-left:-22px;animation:logoEntra .9s var(--ease) both}
@keyframes logoEntra{from{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:none}}
.login2 .tag{margin:0 0 14px;font-weight:300;letter-spacing:.3em;font-size:14px;color:#9DBDB7}
.login2 h1{font:600 52px/1.05 var(--fonte-titulo);letter-spacing:-.02em;margin:0;color:#fff}
.login2 .frases{min-height:60px;margin-top:20px;max-width:460px}
.login2 .frase{margin:0;font-size:18px;line-height:1.55;color:#CDE6DE;animation:sobe .5s var(--ease) both}
.login2 .rodape-l{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:#CDE6DE}
.login2 .rodape-l .pulso{background:var(--mint)}.login2 .rodape-l .pulso::after{border-color:var(--mint)}
.login2 .form-lado{flex:1 1 420px;display:grid;place-items:center;padding:48px 24px;box-sizing:border-box}
.login2 form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px;animation:sobe .6s .15s var(--ease) both}
.login2 form h2{font:600 30px var(--fonte-titulo);letter-spacing:-.02em;margin:0}
.login2 form .btn{justify-content:center;min-height:50px;font-size:15px}
.login2 .campo{margin:0}
@media (max-width:760px){.login2 .marca-lado{padding:32px 24px}.login2 h1{font-size:38px}}
tbody tr{animation:sobe .35s var(--ease) both}
tbody tr:nth-child(2){animation-delay:.03s}tbody tr:nth-child(3){animation-delay:.06s}tbody tr:nth-child(4){animation-delay:.09s}
tbody tr:nth-child(5){animation-delay:.12s}tbody tr:nth-child(6){animation-delay:.15s}tbody tr:nth-child(7){animation-delay:.18s}
tbody tr:nth-child(n+8){animation-delay:.21s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* ---- autenticação em dois fatores ---- */
.passo-2fa{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:var(--mist);color:var(--teal);border-radius:999px;padding:5px 12px 5px 8px;font-size:12.5px;font-weight:600}
.passo-2fa.ok{color:#1E8A5E}
.passo-2fa .ico{width:17px;height:17px}
.codigo-2fa{font:600 26px/1 var(--fonte-titulo);letter-spacing:.35em;text-align:center;padding:14px 12px}
.passos-2fa{margin:0;padding-left:20px;color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:4px}
.passos-2fa b{color:var(--ink)}
.qr-2fa{align-self:center;background:#fff;border-radius:22px;padding:14px;box-shadow:var(--sombra);animation:qrEntra .7s .2s var(--ease) both;position:relative;overflow:hidden}
.qr-2fa svg{display:block;width:216px;height:216px}
.qr-2fa::after{content:"";position:absolute;left:0;right:0;height:22%;top:-22%;background:linear-gradient(180deg,rgba(91,216,156,0),rgba(91,216,156,.35) 85%,#5BD89C);animation:scan 2.2s .9s cubic-bezier(.45,0,.55,1) 2;pointer-events:none}
@keyframes qrEntra{from{opacity:0;transform:scale(.9) rotate(-3deg)}to{opacity:1;transform:none}}
.rec summary{cursor:pointer;color:var(--teal);font-weight:600;font-size:13.5px}
.chave-2fa{font:600 17px/1.5 ui-monospace,Menlo,monospace;letter-spacing:.06em;background:var(--mist);border-radius:12px;padding:10px 14px;margin:10px 0 4px;word-break:break-all;user-select:all}
.form-2fa{animation:sobe .6s .15s var(--ease) both}
.codigos-rec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.codigos-rec span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;font:600 16px ui-monospace,Menlo,monospace;letter-spacing:.05em;animation:sobe .4s var(--ease) both;user-select:all}
