/* ═══════════════════════════════════════════════════════════════
   INTERNATO UNINTA — TEMA "DESIGNER"
   Baseado no protótipo aprovado (Claude Designer)
   Paleta: verde #19623f→#23805a · acento amarelo #F5C400 · fundo #f6fbf8
   Mantém TODOS os nomes de classe/IDs do inventário de migração.
   ═══════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}

:root{
  /* Verdes do protótipo */
  --g:#1a6b47;          /* verde principal (compatibilidade JS/HTML) */
  --gd:#19623f;         /* verde profundo (início do gradiente) */
  --gm:#1a6b47;         /* verde médio */
  --gl:#23805a;         /* verde claro (fim do gradiente) */
  --gb:#e8f5ee;         /* verde pastel (fundos de ícone/pill) */
  --grad:linear-gradient(160deg,#19623f 0%,#1a6b47 55%,#23805a 100%);
  --navy:#13241c;       /* texto escuro / nav antiga (compatibilidade) */
  /* Acentos */
  --y:#F5C400;--yb:#fdf7d6;--ydark:#9a7a00;
  --r:#c43d3d;--rb:#fdeaea;
  --pink:#f6c9c0;--pinksoft:#fbe4df;--pinkdark:#e89a8c;
  --mint:#d8f0e4;
  /* Neutros do protótipo */
  --t:#1f3329;          /* texto principal */
  --t2:#7c8a82;         /* texto secundário */
  --t3:#9aa8a1;         /* texto terciário / labels */
  --br:rgba(26,107,71,.10);   /* borda padrão dos cards */
  --brsoft:rgba(26,107,71,.07);
  --sf:#f6fbf8;         /* fundo geral (protótipo) */
  --w:#fff;
  /* Sombras do protótipo */
  --sh:0 10px 24px -16px rgba(26,107,71,.5);
  --shsoft:0 8px 20px -14px rgba(26,107,71,.5);
  --shcard:0 4px 12px -8px rgba(20,40,30,.3);
  --shnav:0 16px 36px -12px rgba(20,40,30,.34);
  --shg:0 14px 26px -14px rgba(26,107,71,.6);
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
}

html,body{height:100%;background:var(--gd);font-family:'Poppins',sans-serif;color:var(--t);overscroll-behavior:none;overflow:hidden;position:fixed;width:100%;}
#app{max-width:430px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--sf);overflow:hidden}

.screen{display:none;flex:1;flex-direction:column;overflow:hidden}
.screen.active{display:flex}

/* ── STATUS BAR + HEADER (gradiente do protótipo, colado ao topo,
      cantos arredondados só embaixo) ─────────────────────────── */
.sb{height:calc(var(--st) + 6px);background:var(--gd);flex-shrink:0}
.topbar{background:var(--grad);padding:14px 18px 18px;margin:0;border-radius:0 0 26px 26px;display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:none}
.topbar::before{content:'';position:absolute;top:-30px;right:0;width:170px;height:170px;background:rgba(255,255,255,.05);border-radius:50%;pointer-events:none}
.topbar>*{position:relative;z-index:1}
.tb-back{color:#fff;font-size:22px;cursor:pointer;border:none;line-height:1;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.tb-logo{width:40px;height:40px;background:rgba(255,255,255,.15);border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tb-title{color:#fff;font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.01em;font-family:'Fraunces',serif}
.tb-sub{color:rgba(255,255,255,.72);font-size:12px;margin-top:2px;font-family:'Poppins',sans-serif}
.tb-sp{flex:1}
.tb-av{width:44px;height:44px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;cursor:pointer;flex-shrink:0}

/* ── CONTEÚDO ─────────────────────────────────────────────────── */
.content{flex:1;padding:16px 18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--sf);scrollbar-width:none}
.content::-webkit-scrollbar{display:none}

/* ── NAV FLUTUANTE BRANCA (protótipo) ─────────────────────────── */
.bnav{position:relative;background:var(--w);border:1px solid rgba(26,107,71,.08);display:flex;margin:0 16px calc(var(--sb) + 14px);border-radius:24px;padding:11px 6px;flex-shrink:0;box-shadow:var(--shnav)}
.bn{flex:1;border:none;background:none;padding:2px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;position:relative}
.bn-ic{font-size:20px;line-height:1}
.bn-ic i{font-size:23px;color:var(--t3);transition:color .15s}
.bn.active .bn-ic i{color:var(--g)}
.bn-lb{font-size:10.5px;color:var(--t3);font-weight:600;transition:color .15s}
.bn.active .bn-lb{color:var(--g);font-weight:700}
.bn-dot{position:absolute;top:-2px;right:22px;width:7px;height:7px;background:var(--y);border-radius:50%;display:none}
.bn-dot.show{display:block}

/* ── CARDS (borda fina verde + sombra suave, protótipo) ───────── */
.card{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:15px 16px;box-shadow:var(--sh)}
.card-g{background:var(--grad);border:none;border-radius:20px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shg)}
.card-g::before{content:'';position:absolute;top:-30px;right:20px;width:140px;height:140px;background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.sec{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t3)}
.sec i{text-transform:none}

/* ── BOTÕES ───────────────────────────────────────────────────── */
.btn{width:100%;border:none;border-radius:14px;padding:14px;font-size:14px;font-weight:700;font-family:'Poppins',sans-serif;cursor:pointer;transition:opacity .15s,transform .1s;text-align:center}
.btn:active{opacity:.85;transform:scale(.99)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-p{background:var(--grad);color:#fff;box-shadow:var(--shg)}
.btn-s{background:var(--w);color:var(--g);border:1px solid rgba(26,107,71,.25)}

/* ── PILLS / BADGES (caps pequenos do protótipo) ──────────────── */
.pill{font-size:10px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:9px;text-transform:uppercase}
.pill-g{background:var(--gb);color:var(--g)}
.pill-y{background:var(--yb);color:var(--ydark)}
.pill-r{background:var(--rb);color:var(--r)}

/* ── BANNERS ──────────────────────────────────────────────────── */
.ban{border-radius:14px;padding:12px 15px;font-size:12.5px;font-weight:500;line-height:1.45}
.ban-g{background:var(--gb);color:var(--g)}
.ban-y{background:var(--yb);color:#5b4a00;border:1px solid rgba(245,196,0,.5)}
.ban-r{background:var(--rb);color:var(--r)}

/* ── FORMULÁRIOS ──────────────────────────────────────────────── */
.flabel{font-size:11px;font-weight:600;color:var(--t3);margin-bottom:5px;display:block;letter-spacing:.02em}
.finput{background:var(--sf);border:1.5px solid var(--br);border-radius:13px;padding:12px 14px;font-size:16px;font-family:'Poppins',sans-serif;color:var(--t);width:100%;outline:none;transition:border-color .15s}
.finput:focus{border-color:var(--gl)}
.fdiv{height:1px;background:var(--brsoft)}

/* ── AVATAR ───────────────────────────────────────────────────── */
.av{border-radius:50%;background:var(--gb);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--g);flex-shrink:0}

/* ── GRID DE MÓDULOS ──────────────────────────────────────────── */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mcard{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:16px 15px;cursor:pointer;transition:transform .18s;display:flex;flex-direction:column;gap:6px;box-shadow:var(--sh);min-height:104px;justify-content:center}
.mcard:active{transform:scale(.96)}
.mbadge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:7px;align-self:flex-start;text-transform:uppercase}

/* ── ÍCONES PHOSPHOR EM CAIXAS (protótipo usa quadrados 12-14px) ─ */
.ic-circle{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ic-circle i{font-size:24px;line-height:1}
.c-green{background:var(--gb);color:var(--g)}
.c-pink{background:var(--pinksoft);color:#c2624f}
.c-mint{background:var(--mint);color:var(--g)}
.c-navy{background:var(--gd);color:#fff}
.c-yellow{background:var(--yb);color:var(--ydark)}

/* ── SPINNER ──────────────────────────────────────────────────── */
.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── LOGIN ────────────────────────────────────────────────────── */
#sc-login{background:var(--grad);overflow-y:auto;position:relative}
#sc-login::before{content:'';position:absolute;top:40px;right:0;width:180px;height:180px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.login-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 24px 30px;position:relative;z-index:1}
.login-logo{width:88px;height:88px;background:#fff;border-radius:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.login-box{background:var(--w);border-radius:30px 30px 0 0;padding:30px 24px;display:flex;flex-direction:column;gap:14px;margin-top:auto;box-shadow:0 -8px 30px rgba(0,0,0,.1)}

/* ── SAÍDA ────────────────────────────────────────────────────── */
.saida-item{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:15px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh)}
.saida-status-bar{height:4px;border-radius:4px;width:100%}

/* ── CHAT ─────────────────────────────────────────────────────── */
.msg-wrap{display:flex;flex-direction:column;gap:2px;max-width:78%}
.msg-wrap.al{align-self:flex-end;align-items:flex-end}
.msg-wrap.pr{align-self:flex-start;align-items:flex-start}
.bubble{padding:11px 13px;border-radius:16px;font-size:13.5px;line-height:1.4;word-break:break-word}
.bubble.al{background:var(--g);color:#fff;border-bottom-right-radius:5px;box-shadow:0 6px 14px -8px rgba(26,107,71,.5)}
.bubble.pr{background:var(--w);border:none;box-shadow:var(--shcard);border-bottom-left-radius:5px}
.msg-meta{font-size:10px;color:var(--t3);display:flex;gap:4px;align-items:center}
.msg-ptag{font-size:9px;background:var(--gb);color:var(--g);padding:2px 6px;border-radius:7px;font-weight:600}
.conv-card{background:var(--w);border:1px solid var(--br);border-radius:16px;padding:13px 14px;display:flex;gap:11px;cursor:pointer;transition:transform .15s;box-shadow:var(--shsoft)}
.conv-card:active{transform:scale(.98)}
.conv-card.unread{border-color:rgba(245,196,0,.55)}
#chat-msgs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}
#chat-msgs::-webkit-scrollbar{display:none}
#chat-header{position:absolute;top:0;left:0;right:0;z-index:10}
#sc-chat{overflow:hidden !important}
#chat-input-bar{flex-shrink:0;position:sticky;bottom:0}

/* ── TOAST ────────────────────────────────────────────────────── */
#toast{position:fixed;top:calc(var(--st) + 14px);left:50%;transform:translateX(-50%) translateY(-80px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:30px;font-size:13px;font-weight:500;z-index:300;transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;max-width:90vw;white-space:normal;text-align:center;box-shadow:0 8px 24px rgba(20,40,30,.3)}
#toast.show{transform:translateX(-50%) translateY(0)}

/* ── LOADING ──────────────────────────────────────────────────── */
#loading{position:fixed;inset:0;background:var(--grad);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:999;transition:opacity .3s}
#loading.hide{opacity:0;pointer-events:none}

/* ── ANIMAÇÃO DE ENTRADA ──────────────────────────────────────── */
.screen.active .content>*{animation:fadeUp .22s ease both}
.screen.active .content>*:nth-child(1){animation-delay:.00s}
.screen.active .content>*:nth-child(2){animation-delay:.04s}
.screen.active .content>*:nth-child(3){animation-delay:.08s}
.screen.active .content>*:nth-child(4){animation-delay:.12s}
.screen.active .content>*:nth-child(5){animation-delay:.16s}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── PCARD (listas de plantão) ────────────────────────────────── */
.pcard{background:var(--w);border:1px solid var(--br);border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.pcard-hd{background:var(--gb);padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--g)}
.prow{padding:12px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--brsoft)}
.prow:last-child{border-bottom:none}

/* ── ABAS DE ALA (pílula branca, ativo verde) ─────────────────── */
.alatabs{display:flex;gap:4px;background:var(--w);border:1px solid var(--br);border-radius:14px;padding:4px;box-shadow:var(--shsoft)}
.alatab{flex:1;text-align:center;font-size:12.5px;font-weight:700;padding:9px 4px;border-radius:11px;cursor:pointer;color:var(--t3);border:none;background:none;font-family:'Poppins',sans-serif;transition:background .15s,color .15s}
.alatab.active{background:var(--g);color:#fff}

/* ── TOGGLE ───────────────────────────────────────────────────── */
.tog{width:44px;height:26px;background:rgba(26,107,71,.15);border-radius:13px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;border:none}
.tog.on{background:var(--g)}
.tog::after{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tog.on::after{transform:translateX(18px)}

/* ── EMPTY STATES ─────────────────────────────────────────────── */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 0;color:var(--t2)}
.empty-ic{font-size:46px;color:var(--gl)}
.empty-txt{font-size:14px;font-weight:600}
.empty-sub{font-size:12px;text-align:center;max-width:220px;line-height:1.6;color:var(--t3)}

/* ── SCANNER QR ───────────────────────────────────────────────── */
.scan-ov{position:relative;width:100%;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#000}
#qr-video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.scan-box{width:62%;aspect-ratio:1;border:2.5px solid var(--y);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.45);position:relative}
.scan-line{position:absolute;left:8px;right:8px;height:2px;background:linear-gradient(90deg,transparent,var(--y),transparent);animation:scanline 2s ease-in-out infinite;top:10%}
@keyframes scanline{0%,100%{top:10%}50%{top:80%}}
.sc{position:absolute;width:18px;height:18px;border-color:var(--y);border-style:solid}
.sc-tl{top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:4px 0 0 0}
.sc-tr{top:-2px;right:-2px;border-width:3px 3px 0 0;border-radius:0 4px 0 0}
.sc-bl{bottom:-2px;left:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 4px}
.sc-br{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 4px 0}
.scan-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff;font-size:12px;font-weight:500}
/* ── HEADER COMPACTO AO ROLAR (dashboard) ─────────────────────── */
#sc-dash .topbar{transition:padding .25s ease}
#sc-dash .topbar .tb-hero{overflow:hidden;max-height:120px;opacity:1;transition:max-height .28s ease,opacity .2s ease,margin .28s ease}
#sc-dash.compact .topbar .tb-hero{max-height:0;opacity:0;margin-top:-16px;pointer-events:none}

/* ── CHIPS DE FILTRO (tela de avisos) ─────────────────────────── */
.chip{border:1px solid var(--br);background:var(--w);color:var(--t2);font-size:12px;font-weight:600;padding:7px 14px;border-radius:20px;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;box-shadow:var(--shsoft)}
.chip.active{background:var(--g);border-color:var(--g);color:#fff}

/* ── TIMELINE "HOJE" (dashboard) ──────────────────────────────── */
.tl-item{display:flex;gap:10px}
.tl-rail{width:14px;display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--w);border:2.5px solid var(--gl);margin-top:16px;flex-shrink:0}
.tl-rail::after{content:'';flex:1;width:2px;background:var(--br);margin-top:4px}
.tl-item:last-child .tl-rail::after{display:none}
.tl-card{flex:1;margin-bottom:10px;padding:11px 14px}
.tl-item.feito{opacity:.55}
.tl-item.feito .tl-dot{background:var(--gl);border-color:var(--gl)}
.tl-item.agora .tl-dot{background:var(--g);border-color:var(--g);animation:tlpulse 2s ease-in-out infinite}
@keyframes tlpulse{0%,100%{box-shadow:0 0 0 4px rgba(26,107,71,.18)}50%{box-shadow:0 0 0 8px rgba(26,107,71,.08)}}

/* ── CALENDÁRIO MENSAL (tela Horário) ─────────────────────────── */
.cal-wrap{background:var(--w);border:1px solid var(--br);border-radius:18px;padding:14px;box-shadow:var(--sh)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-title{font-size:14px;font-weight:700;text-transform:capitalize}
.cal-nav{width:32px;height:32px;border-radius:10px;background:var(--gb);border:none;color:var(--g);font-size:16px;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-wd{font-size:10px;font-weight:700;color:var(--t3);text-align:center;text-transform:uppercase;padding:4px 0}
.cal-day{aspect-ratio:1;border:none;background:none;border-radius:12px;font-size:13px;font-weight:600;color:var(--t);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:'Poppins',sans-serif}
.cal-day:disabled{opacity:.3;cursor:default}
.cal-day.hoje{box-shadow:inset 0 0 0 1.5px var(--gl)}
.cal-day.sel{background:var(--g);color:#fff}
.cal-dots{display:flex;gap:2px;height:5px}
.cal-dot{width:5px;height:5px;border-radius:50%}
.cal-dot.aula{background:var(--gl)}
.cal-day.sel .cal-dot.aula{background:#fff}
.cal-dot.evento{background:var(--y)}
.cal-dot.exc{background:var(--r)}

/* ── Inputs de data/hora não estouram o container no mobile ───── */
input[type="datetime-local"].finput,
input[type="date"].finput,
input[type="time"].finput{width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none}

/* Filtros de avisos: chips em linha única com scroll horizontal */
#avisos-filtros .chip{flex-shrink:0;white-space:nowrap}
#avisos-filtros::-webkit-scrollbar{display:none}

/* Filtros de avisos - Modelo B */
.filtros-b{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:4px 0 12px}
.filtros-b .fb{display:flex;flex-direction:column;align-items:center;gap:3px;width:60px;background:none;border:none;cursor:pointer;padding:0;font-family:"Poppins",sans-serif}
.filtros-b .fb .fb-ic{width:44px;height:44px;border-radius:13px;background:#f6fbf8;border:1px solid #d8ebe1;color:#1a6b47;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .15s}
.filtros-b .fb .fb-lb{font-size:11px;color:var(--t2);font-weight:500;text-align:center;line-height:1.1}
.filtros-b .fb.active .fb-ic{background:#1a6b47;border-color:#1a6b47;color:#fff}
.filtros-b .fb.active .fb-lb{color:#1a6b47;font-weight:600}

/* ── Tela de check-in de refeicao (verde, tela cheia) ── */
.content.qr-verde{
  background:linear-gradient(160deg,#19623f 0%,#1a6b47 55%,#23805a 100%);
  justify-content:center;align-items:center;gap:0;padding:20px 18px;
}
.qr-verde .qr-titulo{text-align:center;color:#fff;margin-bottom:22px}
.qr-verde .qr-refeicao{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
.qr-verde .qr-instrucao{font-size:14px;opacity:.85;margin-top:8px;font-weight:400}
.qr-verde .scan-ov{border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.28);border:3px solid rgba(255,255,255,.28);max-width:330px;width:100%;margin:0 auto}
.qr-verde .scan-hint{display:none}
.qr-verde .qr-rodape{color:#fff;opacity:.8;font-size:13px;text-align:center;margin-top:20px;font-weight:500}
.qr-verde #ref-qr-result{width:100%;max-width:360px;margin:0 auto}

/* Tela do QR: remove o arredondamento da topbar (evita pontas claras no verde) */
#sc-ref-qr .topbar{border-radius:0;box-shadow:none}
#sc-ref-qr{background:linear-gradient(160deg,#19623f 0%,#1a6b47 55%,#23805a 100%)}

/* ══ Card de destaque em tela cheia (9:16 responsivo) ══ */
#destaque-full{display:none;align-items:center;justify-content:center}
.dcard{
  position:relative;width:100%;height:100dvh;max-width:calc(100dvh * 9 / 16);
  margin:0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;
}
/* Fundo: imagem do designer (ou gradiente institucional enquanto nao houver) */
.dcard-bg{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#19623f 0%,#1a6b47 48%,#23805a 100%);
  background-size:cover;background-position:center;
}
.dcard-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.18)}
/* Zona segura: 80% largura x 60% altura, centralizada */
.dcard-conteudo{
  position:relative;z-index:2;width:80%;height:60%;
  display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,3vh,26px);
  color:#fff;text-align:center;
}
.dcard-cat{
  font-size:clamp(11px,1.6vh,14px);letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;opacity:.85;
}
.dcard-texto{
  font-size:clamp(20px,4.2vh,38px);font-weight:800;line-height:1.28;
  overflow-wrap:break-word;text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.dcard-rodape{
  font-size:clamp(11px,1.5vh,14px);opacity:.85;display:flex;flex-direction:column;gap:5px;
}
.dcard-marca{font-size:clamp(10px,1.3vh,12px);opacity:.7;letter-spacing:.04em}
/* Botoes (ficam fora da imagem capturada) */
.dcard-fechar{
  position:fixed;top:calc(var(--st, 0px) + 14px);right:16px;z-index:5;
  width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(0,0,0,.35);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;
}
.dcard-share{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;
  background:#25D366;color:#fff;border:none;border-radius:30px;padding:13px 26px;
  font-size:14px;font-weight:700;cursor:pointer;font-family:'Poppins',sans-serif;
  box-shadow:0 6px 20px rgba(0,0,0,.28);display:flex;align-items:center;
}
/* Texto muito longo diminui um pouco */
.dcard-texto.longo{font-size:clamp(15px,2.9vh,25px);line-height:1.4}

/* Ajuste progressivo do texto no card de destaque */
.dcard-texto{max-height:100%;overflow-y:auto;scrollbar-width:none}
.dcard-texto::-webkit-scrollbar{display:none}
.dcard-texto.t-medio{font-size:clamp(17px,3.3vh,29px);line-height:1.35}
.dcard-texto.t-longo{font-size:clamp(14px,2.6vh,22px);line-height:1.45;font-weight:700}
.dcard-texto.t-muito{font-size:clamp(12px,2.1vh,18px);line-height:1.5;font-weight:600;text-align:left}
.dcard-conteudo{height:66%;justify-content:space-between;padding:2vh 0}
.dcard-texto{flex:1;display:flex;flex-direction:column;justify-content:center}

/* Faixas em preto puro (#000) — pixels apagados em telas OLED */
#destaque-full{background:#000}
.dcard{background:#000}
.dcard-bg{background-color:#000}

/* ══ Card de destaque — estilo lightbox (sobrepoe as regras anteriores) ══ */
#destaque-full{
  position:fixed;inset:0;z-index:600;
  background:rgba(0,0,0,.82);
  display:none;align-items:center;justify-content:center;
  padding:24px;
  animation:lbfade .15s ease-out;
}
#destaque-full.aberto{display:flex}
/* A arte flutua no centro, inteira, com respiro */
.dcard{
  position:relative;
  width:auto;height:auto;
  aspect-ratio:9/16;
  max-height:78vh;max-width:calc(78vh * 9 / 16);
  border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  background:#19623f;
  display:flex;align-items:center;justify-content:center;
}
.dcard-bg{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#19623f 0%,#1a6b47 48%,#23805a 100%);
  background-size:cover !important;background-position:center;background-repeat:no-repeat;
}
.dcard-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.12)}
.dcard-conteudo{
  position:relative;z-index:2;width:80%;height:66%;
  display:flex;flex-direction:column;justify-content:space-between;
  color:#fff;text-align:center;padding:2% 0;
}
/* Botao fechar — igual ao lightbox */
.dcard-fechar{
  position:absolute;top:calc(env(safe-area-inset-top, 0px) + 12px);right:16px;
  background:rgba(0,0,0,.45);border:none;color:#fff;
  width:44px;height:44px;border-radius:50%;font-size:22px;cursor:pointer;
  line-height:1;z-index:10;display:flex;align-items:center;justify-content:center;
}
/* Botao compartilhar — circular, flutuante */
.dcard-share{
  position:absolute;bottom:calc(env(safe-area-inset-bottom, 0px) + 22px);
  left:50%;transform:translateX(-50%);
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;border:none;cursor:pointer;
  font-size:27px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(0,0,0,.45);z-index:10;padding:0;
  transition:transform .12s ease;
}
.dcard-share:active{transform:translateX(-50%) scale(.93)}
.dcard-share i{margin:0 !important}

/* Imagem enviada ocupa o card inteiro */
.dcard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.dcard.com-imagem .dcard-conteudo{display:none}
.dcard.com-imagem .dcard-bg{display:none}
/* Botao compartilhar com texto (arredondado) */
.dcard-share{
  width:auto !important;height:auto !important;border-radius:30px !important;
  padding:13px 26px !important;font-size:14px;font-weight:700;
  font-family:'Poppins',sans-serif;gap:8px;
}
.dcard-share i{font-size:19px}

/* Card precisa de tamanho explicito: com a imagem absoluta, nao ha conteudo no fluxo */
.dcard{
  width:min(calc(78vh * 9 / 16), calc(100vw - 48px)) !important;
  height:auto !important;
  aspect-ratio:9/16;
  max-height:78vh;
}

/* Overlay cobre a tela toda, inclusive a area da barra inferior (iOS) */
#destaque-full{
  height:100dvh;min-height:100vh;
  padding:24px 24px calc(24px + env(safe-area-inset-bottom, 0px));
}
/* Esconde a barra de navegacao enquanto o card esta aberto */
body.destaque-aberto .bnav,
body.destaque-aberto #bnav{display:none !important}
body.destaque-aberto{background:#000}
