/* DypeCore · sistema interno — identidade do site: preto azulado, brilhos em azul, títulos em degradê */
:root{
  --fundo:#020409; --fundo2:#0c1626; --cartao:#080e18; --cartao2:#0b1320; --campo:#050a12;
  --linha:rgba(110,160,220,.16); --linha2:rgba(110,160,220,.32); --hover:rgba(110,160,220,.08);
  --txt:#dbe6f3; --suave:#8496ad; --forte:#fff; --branco:#fff;
  --azul:#4d7fb5; --azul2:#6aa5e0; --azul3:#a9cdf2;
  --ok:#4fd1a1; --aviso:#f2c14e; --erro:#ff6b78; --roxo:#b79cf5;
  --grad-titulo:linear-gradient(100deg,#fff 20%,#9cc3ea 70%,#5f93c9);
  --lateral:linear-gradient(180deg,#070d17,#03060b); --topo:rgba(2,4,9,.78); --brilho:1;
  --sombra:0 30px 90px -40px rgba(90,150,220,.7); --ativo:linear-gradient(90deg,rgba(77,127,181,.32),rgba(77,127,181,.06));
  --raio:14px; --fonte:"Work Sans",system-ui,sans-serif; --titulo:"Sora",system-ui,sans-serif;
}
/* Tema claro: entra sozinho quando o aparelho da pessoa está em modo claro */
@media (prefers-color-scheme:light){:root{
  --fundo:#eef3f9; --fundo2:#e2eaf4; --cartao:#ffffff; --cartao2:#f8fbff; --campo:#ffffff;
  --linha:rgba(28,70,122,.14); --linha2:rgba(28,70,122,.3); --hover:rgba(40,95,160,.08);
  --txt:#27394f; --suave:#5d7189; --forte:#091a2f;
  --azul:#3f6fa5; --azul2:#2a6bb3; --azul3:#1c5594;
  --ok:#0b8259; --aviso:#9a6200; --erro:#c62b3b; --roxo:#6541c2;
  --grad-titulo:linear-gradient(100deg,#091a2f 15%,#24588f 70%,#4d7fb5);
  --lateral:linear-gradient(180deg,#ffffff,#f1f6fc); --topo:rgba(238,243,249,.85); --brilho:.55;
  --sombra:0 24px 60px -34px rgba(30,80,140,.45); --ativo:linear-gradient(90deg,rgba(63,111,165,.2),rgba(63,111,165,.04));
}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:light dark;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--txt);font:400 15px/1.55 var(--fonte);min-height:100vh;overflow-x:hidden}
a{color:var(--azul2);text-decoration:none}a:hover{color:var(--azul3)}
h1,h2,h3{font-family:var(--titulo);font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.2}
h1,.grad{background:var(--grad-titulo);-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:clamp(1.45rem,2.6vw,1.9rem)}h2{font-size:1.15rem;color:var(--forte)}h3{font-size:1rem;color:var(--forte)}
p{margin:.4em 0}.suave{color:var(--suave)}small{font-size:.82em}
code{background:var(--fundo2);border:1px solid var(--linha);padding:1px 6px;border-radius:6px;font-size:.88em}
.ic{width:20px;height:20px;flex:none}
:focus-visible{outline:2px solid var(--azul2);outline-offset:2px;border-radius:6px}
::selection{background:#2c5687;color:#fff}

.fundo-brilho{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--brilho);
  background:radial-gradient(700px 420px at 88% -8%,rgba(60,120,190,.22),transparent 70%),
             radial-gradient(520px 380px at -6% 62%,rgba(40,90,160,.16),transparent 70%),
             radial-gradient(600px 300px at 60% 110%,rgba(50,100,170,.12),transparent 70%)}

/* ---------- Estrutura ---------- */
.lateral{position:fixed;inset:0 auto 0 0;width:250px;background:var(--lateral);border-right:1px solid var(--linha);display:flex;flex-direction:column;padding:20px 14px;z-index:40;overflow-y:auto}
.marca{display:inline-flex;align-items:center;padding:4px 10px 22px}
.logo-txt{font:700 1.5rem var(--titulo);color:var(--forte);letter-spacing:-.03em}.logo-txt b{color:var(--azul2);font-weight:700}
.logo-img{height:44px;width:auto;display:block}
.lateral nav{display:flex;flex-direction:column;gap:3px;flex:1}
.lateral a:not(.marca){display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--suave);font-weight:500;font-size:.93rem;border:1px solid transparent;transition:.18s}
.lateral a:not(.marca):hover{color:var(--forte);background:var(--hover)}
.lateral a.ativo{color:var(--forte);background:var(--ativo);border-color:var(--linha2);box-shadow:inset 3px 0 0 var(--azul2)}
.lateral-fim{border-top:1px solid var(--linha);padding-top:12px;margin-top:12px;display:flex;flex-direction:column;gap:3px}
.conteudo{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}
.topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:12px 28px;background:var(--topo);backdrop-filter:blur(14px);border-bottom:1px solid var(--linha)}
.topo-espaco{flex:1}
.so-icone{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--linha);background:transparent;color:var(--txt);cursor:pointer;position:relative;transition:.18s}
.so-icone:hover{border-color:var(--linha2);background:var(--hover);color:var(--forte)}
.abre-menu{display:none}
.sino i{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--erro);color:#fff;font:600 11px/19px var(--fonte);text-align:center;font-style:normal}
.eu{display:flex;align-items:center;gap:10px;color:var(--txt);padding:4px 10px 4px 4px;border-radius:12px;border:1px solid transparent}
.eu:hover{border-color:var(--linha);color:var(--forte)}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2d5a8e,#6aa5e0);color:#fff;font:600 .95rem var(--titulo);flex:none}
.eu-txt{display:flex;flex-direction:column;line-height:1.15}.eu-txt small{color:var(--suave)}
main{padding:28px;flex:1;max-width:1320px;width:100%;margin:0 auto}
.titulo-pagina{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.titulo-pagina p{color:var(--suave);margin:6px 0 0}
.acoes{display:flex;gap:8px;flex-wrap:wrap}
.pe{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 28px;border-top:1px solid var(--linha);color:var(--suave);font-size:.82rem}
.pe a{margin-left:16px;color:var(--suave);text-decoration:underline}.pe a:first-child{margin-left:0}
.veu{display:none}

/* ---------- Componentes ---------- */
.cartao{background:linear-gradient(160deg,var(--cartao2),var(--cartao));border:1px solid var(--linha);border-radius:var(--raio);padding:20px;position:relative}
.cartao + .cartao,.cartao + .grade,.grade + .cartao,.grade + .grade{margin-top:18px}
.grade > .cartao,.grade > .cartao + .cartao{margin-top:0}
.cartao > h2:first-child,.cab{margin-bottom:14px}
.cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.grade{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.auto{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.col2{grid-column:span 2}.tudo{grid-column:1/-1}
.num{padding:18px 20px;overflow:hidden}
.num::after{content:"";position:absolute;inset:auto -30px -50px auto;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(90,150,220,.22),transparent 70%)}
.num small{color:var(--suave);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}
.num strong{display:block;font:600 1.6rem var(--titulo);color:var(--forte);margin-top:6px;letter-spacing:-.02em}
.num span{color:var(--suave);font-size:.84rem}
.num.ok strong{color:var(--ok)}.num.erro strong{color:var(--erro)}.num.aviso strong{color:var(--aviso)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:9px;border:1px solid var(--linha2);background:var(--hover);color:var(--txt);font:600 .78rem var(--fonte);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.18s;white-space:nowrap}
.btn:hover{background:var(--linha);color:var(--forte);transform:translateY(-1px)}
.btn .ic{width:16px;height:16px}
.btn-p{background:linear-gradient(180deg,#5a8cc2,#41709f);border-color:#6f9fd2;color:#fff;box-shadow:0 6px 22px -8px rgba(90,150,220,.7)}
.btn-p:hover{background:linear-gradient(180deg,#6a9cd2,#4a7bad)}
.btn-ok{border-color:rgba(79,209,161,.5);color:var(--ok)}.btn-ok:hover{background:rgba(79,209,161,.14);color:var(--ok)}
.btn-erro{border-color:rgba(255,107,120,.45);color:var(--erro)}.btn-erro:hover{background:rgba(255,107,120,.12);color:var(--erro)}
.btn-aviso{border-color:rgba(242,193,78,.45);color:var(--aviso)}.btn-aviso:hover{background:rgba(242,193,78,.12);color:var(--aviso)}
.btn-m{padding:6px 10px;font-size:.7rem}
.linha-btn{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.selo{display:inline-block;padding:3px 10px;border-radius:20px;font:600 .72rem var(--fonte);letter-spacing:.03em;border:1px solid;white-space:nowrap}
.selo-paga,.selo-ativo,.selo-aprovado,.selo-concluida{color:var(--ok);border-color:rgba(79,209,161,.4);background:rgba(79,209,161,.09)}
.selo-pendente,.selo-aguardando,.selo-nova,.selo-enviado{color:var(--azul3);border-color:rgba(106,165,224,.45);background:rgba(106,165,224,.1)}
.selo-em_analise,.selo-ajustes,.selo-planejada{color:var(--aviso);border-color:rgba(242,193,78,.4);background:rgba(242,193,78,.09)}
.selo-atrasada,.selo-reprovado,.selo-cancelado,.selo-recusada{color:var(--erro);border-color:rgba(255,107,120,.4);background:rgba(255,107,120,.09)}
.selo-rascunho,.selo-encerrado,.selo-cancelada,.selo-comentario{color:var(--suave);border-color:var(--linha2);background:rgba(132,150,173,.08)}
.selo-social_media{color:var(--roxo);border-color:rgba(183,156,245,.4);background:rgba(183,156,245,.09)}
.selo-servico{color:var(--azul3);border-color:rgba(106,165,224,.45);background:rgba(106,165,224,.1)}
.selo-assinatura{color:var(--ok);border-color:rgba(79,209,161,.4);background:rgba(79,209,161,.09)}

.alerta{padding:12px 16px;border-radius:10px;border:1px solid;margin-bottom:16px;font-weight:500}
.alerta-sucesso{color:var(--ok);border-color:rgba(79,209,161,.4);background:rgba(79,209,161,.08)}
.alerta-erro{color:var(--erro);border-color:rgba(255,107,120,.4);background:rgba(255,107,120,.08)}
.alerta-info{color:var(--azul3);border-color:var(--linha2);background:rgba(106,165,224,.08)}

.tabela-rolo{overflow-x:auto;margin:0 -20px -20px;border-radius:0 0 var(--raio) var(--raio)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{text-align:left;font:600 .7rem var(--fonte);letter-spacing:.09em;text-transform:uppercase;color:var(--suave);padding:10px 20px;border-bottom:1px solid var(--linha);white-space:nowrap}
td{padding:13px 20px;border-bottom:1px solid rgba(110,160,220,.08);vertical-align:middle}
tr:last-child td{border-bottom:0}tbody tr{transition:.15s}tbody tr:hover{background:var(--hover)}
td.dir,th.dir{text-align:right}td b{color:var(--forte);font-weight:600}td small{color:var(--suave);display:block}
.valor{font-family:var(--titulo);font-weight:600;color:var(--forte);white-space:nowrap}

.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.filtros a{padding:7px 14px;border-radius:20px;border:1px solid var(--linha);color:var(--suave);font-weight:500;font-size:.86rem}
.filtros a:hover{border-color:var(--linha2);color:var(--forte)}
.filtros a.ativo{background:var(--ativo);border-color:var(--azul2);color:var(--forte)}
.filtros form{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}

label{display:block;font-weight:600;font-size:.82rem;color:var(--txt)}
label > input,label > select,label > textarea{display:block;margin-top:6px}
input,select,textarea{width:100%;background:var(--campo);border:1px solid var(--linha2);border-radius:9px;padding:10px 12px;color:var(--forte);font:400 .95rem var(--fonte);transition:.18s;min-width:0}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--azul2);box-shadow:0 0 0 3px rgba(106,165,224,.18)}
input::placeholder,textarea::placeholder{color:var(--suave);opacity:.7}
textarea{min-height:96px;resize:vertical}
input[type=file]{padding:8px;font-size:.85rem}
label > input[type=checkbox],input[type=checkbox],input[type=radio]{margin:0;width:18px;height:18px;accent-color:var(--azul2);flex:none;padding:0}
label.marca-linha{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
.form{display:flex;flex-direction:column;gap:14px}
.form .grade{gap:14px}
.ajuda{font-weight:400;color:var(--suave);font-size:.8rem}

.barra{height:10px;border-radius:10px;background:var(--fundo2);border:1px solid var(--linha);overflow:hidden}
.barra i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#3c6ea6,#7fb6ee);box-shadow:0 0 14px rgba(106,165,224,.6);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.pct{font:600 1.9rem var(--titulo);color:var(--forte);letter-spacing:-.03em}

.vazio{text-align:center;padding:44px 20px;color:var(--suave);border:1px dashed var(--linha2);border-radius:var(--raio)}
.vazio h2,.vazio h3{color:var(--txt);margin-bottom:6px}.vazio .btn{margin-top:14px}
.lista{list-style:none;margin:0;padding:0}
.lista li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(110,160,220,.09)}
.lista li:last-child{border-bottom:0;padding-bottom:0}.lista li:first-child{padding-top:0}
.lista small{color:var(--suave);display:block}
.dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}.dl dt{color:var(--suave)}.dl dd{margin:0;color:var(--forte);font-weight:500;overflow-wrap:anywhere}

/* cartões de post / prévia */
.item{display:flex;flex-direction:column;gap:10px;padding:0;overflow:hidden;color:var(--txt);transition:.2s}
a.item:hover{border-color:var(--linha2);transform:translateY(-3px);box-shadow:var(--sombra);color:var(--txt)}
.item .capa{aspect-ratio:16/10;background:var(--fundo2) center/cover no-repeat;display:grid;place-items:center;color:var(--suave);border-bottom:1px solid var(--linha)}
.item .capa .ic{width:40px;height:40px}
.item .corpo{padding:4px 16px 16px;display:flex;flex-direction:column;gap:8px}
.item h3{overflow-wrap:anywhere}
.midia{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.midia img,.midia video{width:100%;border-radius:10px;border:1px solid var(--linha);background:#000;display:block;max-height:560px;object-fit:contain}
.arq{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--linha2);border-radius:10px;background:var(--campo);color:var(--forte);overflow-wrap:anywhere}
.arq:hover{border-color:var(--azul2)}
.conversa{display:flex;flex-direction:column;gap:12px}
.fala{border:1px solid var(--linha);border-radius:12px;padding:12px 14px;background:var(--campo)}
.fala.cliente{border-color:rgba(106,165,224,.4);background:rgba(77,127,181,.1)}
.fala header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px;font-size:.84rem;color:var(--suave)}
.fala header b{color:var(--forte)}.fala p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* notificações */
.notif{display:flex;gap:14px;padding:14px 16px;border:1px solid var(--linha);border-radius:12px;background:var(--cartao);color:var(--txt);margin-bottom:10px;transition:.18s}
a.notif:hover{border-color:var(--linha2);color:var(--txt)}
.notif.nova{border-color:var(--linha2);background:linear-gradient(90deg,rgba(77,127,181,.18),var(--cartao))}
.notif .ponto{width:10px;height:10px;border-radius:50%;margin-top:7px;flex:none;background:var(--azul2)}
.notif.t-alerta .ponto{background:var(--erro)}.notif.t-aviso .ponto{background:var(--aviso)}.notif.t-sucesso .ponto{background:var(--ok)}
.notif b{color:var(--forte);display:block}.notif time{color:var(--suave);font-size:.8rem}

/* gráfico de barras (caixa) */
.grafico{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;align-items:end;height:220px;padding-top:10px}
.grafico .mes{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;min-width:0}
.grafico .par{height:180px;flex:none;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}
.grafico .par i{width:42%;max-width:20px;border-radius:5px 5px 0 0;min-height:2px;transition:height .7s cubic-bezier(.2,.8,.2,1)}
.grafico .g{background:linear-gradient(180deg,#7fb6ee,#3c6ea6)}.grafico .d{background:linear-gradient(180deg,#ff8c97,#b54452)}
.grafico small{color:var(--suave);font-size:.7rem;white-space:nowrap}
.legenda{display:flex;gap:16px;color:var(--suave);font-size:.84rem}.legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}

/* matriz de permissões */
.matriz th,.matriz td{padding:10px 12px;text-align:center}.matriz th:first-child,.matriz td:first-child{text-align:left}
.matriz tr.todos td{background:rgba(77,127,181,.12)}

/* modal */
.modal{border:1px solid var(--linha2);border-radius:16px;background:linear-gradient(160deg,var(--cartao2),var(--cartao));color:var(--txt);padding:0;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 40px 120px -20px #000,0 0 80px -30px rgba(90,150,220,.5)}
.modal::backdrop{background:rgba(1,3,7,.78);backdrop-filter:blur(5px)}
.modal[open]{animation:surge .22s ease}
.modal form{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.modal header,.modal footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px}
.modal header{border-bottom:1px solid var(--linha)}.modal footer{border-top:1px solid var(--linha);justify-content:flex-end}
.modal-corpo{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
@keyframes surge{from{opacity:0;transform:translateY(14px) scale(.98)}}

/* cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:720px;margin:auto;display:flex;gap:16px;align-items:center;padding:14px 18px;border-radius:14px;border:1px solid var(--linha2);background:var(--cartao);box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}
.cookies p{margin:0;font-size:.88rem;flex:1}.cookies[hidden]{display:none}

/* ---------- Páginas públicas ---------- */
.publico{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:24px 16px}
.entrar{margin:auto;width:min(430px,100%);text-align:center}
.entrar .marca{padding:0 0 18px}.entrar .logo-txt{font-size:2.1rem}.entrar .logo-img{height:84px}
.entrar .cartao{text-align:left;padding:28px;box-shadow:var(--sombra)}
.entrar h1{margin-bottom:4px}
.fitas{display:inline-flex;gap:10px;align-items:center;padding:5px 14px;border:1px solid var(--linha2);border-radius:20px;color:var(--azul3);font:500 .68rem var(--fonte);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.fitas i{width:4px;height:4px;border-radius:50%;background:var(--azul2)}
.entre{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.86rem}
.legal{width:min(820px,100%);margin:0 auto}.legal .cartao{padding:32px}
.legal h2{margin:26px 0 8px}.legal li{margin:.3em 0}.legal table{margin:10px 0}.legal td,.legal th{padding:10px 12px}
.legal-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:20px 0;font-size:.86rem}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .lateral{transform:translateX(-102%);transition:transform .28s ease;width:270px;box-shadow:30px 0 80px rgba(0,0,0,.35)}
  body.menu-aberto .lateral{transform:none}
  body.menu-aberto .veu{display:block;position:fixed;inset:0;z-index:35;background:rgba(1,3,7,.7);backdrop-filter:blur(3px)}
  .conteudo{margin-left:0}.abre-menu{display:inline-grid}
  .topo{padding:10px 16px}main{padding:20px 16px}.pe{padding:16px}
}
@media (max-width:640px){
  .g2,.g3,.g4{grid-template-columns:1fr}.col2{grid-column:auto}
  .eu-txt{display:none}.eu{padding:2px}
  .titulo-pagina{align-items:flex-start;flex-direction:column}
  .acoes,.acoes .btn{width:100%}
  .cartao{padding:16px}.tabela-rolo{margin:0 -16px -16px}
  /* tabelas viram cartões empilhados */
  .empilha thead{display:none}
  .empilha tr{display:block;padding:12px 16px;border-bottom:1px solid var(--linha)}
  .empilha tr:last-child{border-bottom:0}
  .empilha td{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border:0;text-align:right}
  .empilha td::before{content:attr(data-r);color:var(--suave);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;flex:none;padding-top:2px}
  .empilha td:not([data-r]){display:block;text-align:left}
  .empilha td:not([data-r])::before{display:none}
  .empilha td:not([data-r]) small{text-align:left}
  .empilha td.dir:not([data-r]) .linha-btn{justify-content:flex-start!important;margin-top:6px}
  .empilha td small{text-align:right}.empilha td .linha-btn{justify-content:flex-end}
  .filtros form{margin-left:0;width:100%}
  .cookies{flex-direction:column;align-items:stretch;text-align:center}
  .grafico{gap:3px}.grafico small{font-size:.58rem}
  .legal .cartao{padding:20px}
  .modal footer .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- prévia do perfil (grade do feed) ---------- */
.perfil{max-width:640px;margin:0 auto}
.perfil-topo{display:flex;gap:22px;align-items:center;padding:6px 4px 18px}
.perfil-topo .avatar{width:84px;height:84px;font-size:2rem;box-shadow:0 0 0 3px var(--fundo),0 0 0 5px var(--azul2)}
.perfil-topo h2{overflow-wrap:anywhere}
.perfil-nums{display:flex;gap:22px;margin-top:8px;color:var(--suave);font-size:.86rem}.perfil-nums b{color:var(--forte);font:600 1.05rem var(--titulo);display:block}
.abas{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha);margin-bottom:3px}
.abas a{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 6px;color:var(--suave);font:600 .74rem var(--fonte);letter-spacing:.08em;text-transform:uppercase;border-top:2px solid transparent;margin-top:-1px}
.abas a.ativo{color:var(--forte);border-top-color:var(--forte)}.abas .ic{width:17px;height:17px}
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.quadro{position:relative;aspect-ratio:3/4;background:var(--fundo2);overflow:hidden;display:block;color:var(--suave)}
.quadro img,.quadro video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.quadro:hover img,.quadro:hover video{transform:scale(1.04)}
.quadro .sem{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:10px;font-size:.78rem;overflow-wrap:anywhere}
.quadro .marca-st{position:absolute;left:6px;bottom:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 15px/1 var(--fonte);box-shadow:0 2px 8px rgba(0,0,0,.5);border:2px solid #fff}
.quadro .st-aprovado{background:#12a36f}.quadro .st-aguardando{background:#e0a100;color:#1d1400}
.quadro .marca-st .ic{width:15px;height:15px;stroke-width:3}
.quadro .cantos{position:absolute;top:6px;right:6px;display:flex;gap:4px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}.quadro .cantos .ic{width:18px;height:18px}
.quadro .dia{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.6);color:#fff;font-size:.68rem;padding:2px 7px;border-radius:10px}
.fixa{position:absolute;top:4px;left:4px;z-index:2}
.fixa button{width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.75}
.fixa button:hover,.fixa button.sim{opacity:1;background:var(--azul)}.fixa .ic{width:15px;height:15px}
.legenda-feed{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:14px 0;color:var(--suave);font-size:.84rem}
.legenda-feed span{display:inline-flex;align-items:center;gap:6px}.legenda-feed i{width:14px;height:14px;border-radius:50%;display:inline-block}
/* PIX / boleto */
.pix{border-color:rgba(79,209,161,.4);background:linear-gradient(160deg,rgba(79,209,161,.1),var(--cartao))}
.copia{display:flex;gap:8px;align-items:stretch}.copia code{flex:1;padding:10px 12px;font-size:.95rem;overflow-wrap:anywhere;color:var(--forte)}
@media (max-width:640px){.perfil-topo{gap:14px}.perfil-topo .avatar{width:64px;height:64px;font-size:1.5rem}.perfil-nums{gap:14px}}

/* capa de vídeo (reels) nos cartões */
.item .capa{position:relative;overflow:hidden}
.item .capa video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.item .capa .toca{position:absolute;right:8px;top:8px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}.item .capa .toca .ic{width:22px;height:22px}

/* cadeado de mostrar senha */
.senha-campo{position:relative;display:block;margin-top:6px}
.senha-campo input{padding-right:46px;margin-top:0}
.cadeado{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--suave);cursor:pointer}
.cadeado:hover{color:var(--forte);background:var(--hover)}.cadeado.aberto{color:var(--azul2)}
.cadeado svg{width:19px;height:19px}
/* carrossel (várias imagens no mesmo post) */
.tem-carrossel{position:relative}
.carrossel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;border-radius:10px;border:1px solid var(--linha);background:#000;scrollbar-width:thin}
.carrossel .slide{flex:0 0 100%;scroll-snap-align:center;position:relative;display:grid;place-items:center}
.carrossel img,.carrossel video{width:100%;max-height:600px;object-fit:contain;display:block}
.carrossel .conta{position:absolute;top:10px;right:10px;z-index:2;background:rgba(0,0,0,.65);color:#fff;font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:12px}
.tem-carrossel .seta{position:absolute;top:calc(50% - 19px);z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.tem-carrossel .seta:hover{background:var(--azul)}
.tem-carrossel .seta.ant{left:10px}.tem-carrossel .seta.prox{right:10px}
