/* Camada de tema: só cores/estilo, nada de layout */
:root{
  --green-dark:var(--t-primary); --green:var(--t-primary2); --green-light:var(--t-accent);
  --teal-panel:var(--t-header-bg); --chat-bg:var(--t-chat-bg); --out-bubble:var(--t-out); --in-bubble:var(--t-in);
  --panel:var(--t-panel); --border:var(--t-border); --text:var(--t-text); --muted:var(--t-muted);
  --shadow:var(--t-shadow);
}
html,body{background:var(--t-panel);}
.app,.sidebar{background:var(--t-list-bg);}
/* background-color (não shorthand): foguete.css aplica o degradê em background-image. */
.side-header,.chat-header{background-color:var(--t-header-bg);color:var(--t-header-fg);border-bottom:1px solid var(--t-header-border);}
.side-header .icon-btn,.chat-header .icon-btn,.chat-busca .icon-btn,.back-btn,.inst-chev{color:var(--t-header-icon);}
.chat-busca-contador{color:var(--t-header-sub);}
.chat-busca .search-box{background:var(--t-search-bg);}
.inst-nome,.chat-header .info .name,.adm-title{color:var(--t-header-fg);}
.inst-sub,.chat-header .info .status{color:var(--t-header-sub);}
.inst-dot,.inst-outras{border-color:var(--t-header-bg);}
.side-header .avatar:not(.brand-icon),.chat-header .avatar{box-shadow:0 0 0 2px var(--t-avatar-ring);}
.avatar{background:var(--t-avatar-bg);color:var(--t-avatar-fg);}
.search-wrap{background:var(--t-list-bg);}
.search-box{background:var(--t-search-bg);border-radius:var(--t-search-r,999px);color:var(--t-muted);}
.search-box input{color:var(--t-text);}
.search-box svg{stroke:var(--t-muted);}
.chat-item{border-bottom-color:var(--t-border);}
.chat-name{color:var(--t-text);}
.chat-preview,.chat-time{color:var(--t-muted);}
.chat-time.unread{color:var(--t-unread);}
.badge{background:var(--t-badge-bg);color:var(--t-badge-fg);}
.side-footer{background:var(--t-list-bg);border-top-color:var(--t-border);}
.chip{background:var(--t-chip-bg);color:var(--t-chip-fg);}
.chat-pane{background:var(--t-chat-bg);}
.messages{background:var(--t-wallpaper),var(--t-chat-bg);background-color:var(--t-chat-bg);}
.day-sep span{background:var(--t-day-bg);color:var(--t-day-fg);box-shadow:none;border-radius:999px;font-weight:600;letter-spacing:.02em;}
.bubble{border-radius:var(--t-bubble-r);box-shadow:var(--t-shadow);}
.row.in .bubble{background:var(--t-in);color:var(--t-in-fg);border-top-left-radius:var(--t-tail-r);}
.row.out .bubble{background:var(--t-out-bg,var(--t-out));color:var(--t-out-fg);border-top-right-radius:var(--t-tail-r);}
.row.in .bubble .meta{color:var(--t-in-meta);}
.row.out .bubble .meta,.row.out .ticks.sent,.row.out .ticks.pending{color:var(--t-out-meta);}
/* Lida = azul padrão do WhatsApp em todo tema (não usar variável de tema aqui). */
.ticks.read{color:var(--tick-lida)!important;}
.sender{color:var(--t-primary2);}
.quote{background:var(--t-quote-bg);border-left-color:var(--t-quote-bar);}
.row.out .bubble .quote{background:var(--t-quote-out-bg);border-left-color:var(--t-quote-out-bar);}
.quote-autor,.quote.eu .quote-autor{color:var(--t-quote-autor);}
.row.out .bubble .quote .quote-autor{color:var(--t-quote-out-autor);}
.quote-texto{color:var(--t-in-meta);}
.row.out .bubble .quote .quote-texto{color:var(--t-out-meta);}
.reacts{background:var(--t-react-bg);border-color:var(--t-react-border);color:var(--t-text);}
.audio-play,.audio-card.voz .audio-play{color:var(--t-in-meta);}
.row.out .audio-play,.row.out .audio-card.voz .audio-play{color:var(--t-out-fg);}
.audio-wave{background:linear-gradient(90deg,var(--t-wave-on) var(--p),var(--t-wave-off) var(--p));}
.row.out .audio-wave{background:linear-gradient(90deg,var(--t-wave-out-on) var(--p),var(--t-wave-out-off) var(--p));}
.audio-knob{background:var(--t-wave-on);} .row.out .audio-knob{background:var(--t-wave-out-on);}
.audio-card.voz .audio-dur svg{color:var(--t-wave-on);} .row.out .audio-card.voz .audio-dur svg{color:var(--t-wave-out-on);}
.audio-dur{color:var(--t-in-meta);} .row.out .audio-dur{color:var(--t-out-meta);}
.audio-vel{background:var(--t-vel-bg);color:var(--t-vel-fg);}
.row.out .audio-vel{background:var(--t-vel-out-bg);color:var(--t-vel-out-fg);}
.composer,.reply-bar{background:var(--t-composer-bg);border-top-color:var(--t-border);}
.composer .attach{color:var(--t-muted);}
.composer .input-wrap{background:var(--t-input-bg);border:1px solid var(--t-input-border);}
.composer textarea{color:var(--t-text);}
.composer textarea::placeholder{color:var(--t-muted);}
.composer .send,.composer .mic{background:var(--t-mic-bg);color:var(--t-mic-fg);box-shadow:var(--t-mic-shadow,none);}
.btn-primary,.u-acao,.i-btn{background:var(--t-mic-bg);}
.text a{color:var(--t-link);}
.row.out .text a{color:var(--t-out-link,var(--t-out-fg));}
.bubble .text .wa-code,.bubble .text .wa-mono{background:var(--t-mono-bg);}
.bubble .text .wa-quote{border-left-color:var(--t-fmt-quote-bar,var(--t-quote-bar));}
.row.out .bubble .text .wa-quote{border-left-color:var(--t-quote-out-bar);}

.chat-item .avatar,.chat-header .avatar{background:var(--t-av1)!important;color:var(--t-avatar-fg)!important;}
.chat-item:nth-child(4n+2) .avatar{background:var(--t-av2)!important;}
.chat-item:nth-child(4n+3) .avatar{background:var(--t-av3)!important;}
.chat-item:nth-child(4n+4) .avatar{background:var(--t-av4)!important;}
