:root{
    --bg:#07111f;
    --panel:#0f1b2f;
    --panel-2:#111f38;
    --line:#233653;
    --text:#e5ecf7;
    --muted:#95a4bd;
    --accent:#22c55e;
    --accent-2:#16a34a;
    --danger:#ef4444;
    --warning:#f59e0b;
    --input:#091427;
    --shadow:0 20px 80px rgba(0,0,0,.36);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:radial-gradient(circle at top left,#15325e 0,#07111f 38%,#050b15 100%);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
a{color:#93c5fd}
.entry-page{min-height:100vh;display:grid;place-items:center;padding:24px}.entry-card{width:min(470px,100%);background:rgba(15,27,47,.95);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow);text-align:center}.brand-badge{display:inline-flex;align-items:center;justify-content:center;background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.35);border-radius:999px;padding:8px 14px;font-weight:900;letter-spacing:.08em;font-size:12px}.entry-card h1{font-size:34px;margin:18px 0 8px}.entry-card p{color:var(--muted);line-height:1.5;margin:0 0 22px}.entry-card small{display:block;color:var(--muted);margin-top:16px}.entry-form{display:grid;gap:12px}.entry-form input,.entry-form select{width:100%;border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:14px;padding:14px 16px;font-size:16px}.entry-form button,.chat-main button,.admin-body button,.btn{border:0;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#052e16;font-weight:900;padding:13px 18px;cursor:pointer;text-decoration:none}.entry-form button:disabled,.chat-main button:disabled,.admin-body button:disabled{opacity:.55;cursor:not-allowed}.alert{background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.38);padding:12px 14px;border-radius:14px;margin-bottom:16px}.back-link{display:inline-block;margin-top:18px;color:var(--muted)}.entry-links{margin-top:14px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.entry-links a{color:#93c5fd;text-decoration:none;font-weight:800}.entry-links a:hover{text-decoration:underline}
.chat-shell{height:100vh;display:grid;grid-template-columns:1fr 280px;overflow:hidden}.sidebar{background:rgba(15,27,47,.92);border-left:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:14px;min-width:0}.logo-block{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:18px}.chat-logo{width:44px;height:44px;border-radius:14px;background:rgba(34,197,94,.12);display:grid;place-items:center;font-size:24px}.logo-block strong{display:block;font-size:18px}.logo-block span,.me-box span{display:block;color:var(--muted);font-size:13px}.me-box{padding:13px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.me-box strong{display:flex;align-items:center;gap:8px;margin:4px 0 7px;font-size:18px}.me-box em{display:block;color:var(--muted);font-style:normal;font-size:12px;margin-bottom:8px}.me-box a{font-size:13px;color:#93c5fd;text-decoration:none}.online-title{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.online-title span{font-weight:900}.online-title b{background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.24);padding:4px 9px;border-radius:999px}.online-list{list-style:none;padding:0;margin:0;overflow:auto;min-height:0}.online-list li{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:7px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.05);color:#dbeafe;font-size:13px}.online-list small{grid-column:2;color:var(--muted);font-size:10px;margin-top:1px}.online-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:none}.me-logout{display:inline-flex;margin-top:2px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.32);border-radius:999px;padding:7px 10px;color:#fecaca!important;font-weight:800}.me-logout:hover{background:rgba(239,68,68,.22);color:#fff!important}.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-header{display:flex;align-items:center;gap:14px;padding:13px 22px;border-bottom:1px solid var(--line);background:rgba(7,17,31,.7);backdrop-filter:blur(14px)}.chat-legend-header{justify-content:space-between}.role-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.legend-title{font-size:13px;color:#cbd5e1;margin-right:2px;white-space:nowrap}.legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:#dbeafe;white-space:nowrap}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:0 0 10px currentColor}.legend-admin{background:#ff3838;color:#ff3838}.legend-moderador{background:#ff9f1c;color:#ff9f1c}.legend-amigo{background:#b56dff;color:#b56dff}.legend-normal{background:#e5ecf7;color:#e5ecf7;border:1px solid rgba(0,0,0,.35)}.legend-bloqueado{background:#9ca3af;color:#9ca3af}.legend-users-btn{display:none;align-items:center;justify-content:center;gap:7px;text-decoration:none;border:1px solid var(--line)!important;border-radius:999px!important;padding:9px 12px!important;color:var(--text)!important;background:rgba(255,255,255,.06)!important;font-size:13px;font-weight:900;white-space:nowrap}.icon-btn{display:none!important;width:42px;height:42px;padding:0!important;color:var(--text)!important;background:rgba(255,255,255,.06)!important;border:1px solid var(--line)!important}.messages{overflow:auto;padding:24px;display:flex;flex-direction:column;gap:13px}.system-message{align-self:center;background:rgba(147,197,253,.1);border:1px solid rgba(147,197,253,.24);color:#bfdbfe;border-radius:999px;padding:10px 14px;font-size:14px}.message{max-width:min(720px,88%);background:rgba(17,31,56,.92);border:1px solid var(--line);border-radius:18px 18px 18px 4px;padding:12px 14px;box-shadow:0 10px 24px rgba(0,0,0,.16);word-wrap:break-word}.message.me{align-self:flex-end;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);border-radius:18px 18px 4px 18px}.message.status-bloqueado,.message.status-banido{opacity:.68}.msg-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.msg-head strong{font-size:14px}.msg-head em{font-style:normal;color:var(--muted);font-size:11px}.msg-head span{font-size:12px;color:var(--muted);margin-left:auto}.msg-body{white-space:pre-wrap;line-height:1.45}.composer-wrap{border-top:1px solid var(--line);background:rgba(7,17,31,.86);padding:12px 16px 16px}.emoji-row{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.emoji-row button{width:36px;height:34px;padding:0!important;background:rgba(255,255,255,.06)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:12px!important}.composer{display:flex;gap:10px}.composer input{flex:1;border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:15px;padding:14px 16px;font-size:16px;min-width:0}.composer button{min-width:110px}.status{min-height:18px;margin-top:6px;color:var(--muted);font-size:13px}.status.error{color:#fca5a5}
.name{display:inline-flex;align-items:center;gap:7px;font-weight:900}.name.role-admin,.role-admin .online-name,.me-box.role-admin strong{color:#ff3838}.name.role-moderador,.role-moderador .online-name,.me-box.role-moderador strong{color:#ff9f1c}.name.role-amigo,.role-amigo .online-name,.me-box.role-amigo strong{color:#b56dff}.name.role-normal,.role-normal .online-name,.me-box.role-normal strong{color:#e5ecf7}.name.status-bloqueado,.name.status-banido,.status-bloqueado .online-name,.status-banido .online-name,.me-box.status-bloqueado strong,.me-box.status-banido strong{color:#9ca3af!important;text-decoration:line-through}.avatar-mini{position:relative;display:inline-block;width:18px;height:18px;border-radius:50% 50% 46% 46%;background:#9ca3af;box-shadow:0 0 0 2px rgba(255,255,255,.16),0 0 8px rgba(156,163,175,.45);vertical-align:middle;flex:0 0 auto}.avatar-mini:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;left:5px;top:-5px;background:inherit;box-shadow:0 0 0 2px rgba(255,255,255,.16)}.avatar-mini:after{position:absolute;right:-6px;top:-8px;font-size:12px;line-height:1}.avatar-mini.gender-mulher{background:#ff4fc3;box-shadow:0 0 0 2px rgba(255,255,255,.16),0 0 10px rgba(255,79,195,.85)}.avatar-mini.gender-homem{background:#3b82f6;box-shadow:0 0 0 2px rgba(255,255,255,.16),0 0 10px rgba(59,130,246,.85)}.avatar-mini.gender-nao_escolher{background:#9ca3af}.avatar-mini.role-admin:after{content:'👑'}.avatar-mini.role-moderador:after{content:'★';color:#ffb020;text-shadow:0 0 6px rgba(255,176,32,.8)}.avatar-mini.role-amigo:after{content:'♥';color:#c084fc;text-shadow:0 0 6px rgba(192,132,252,.8)}.avatar-mini.status-bloqueado,.avatar-mini.status-banido{filter:grayscale(1);opacity:.65}.avatar-mini.status-bloqueado:after{content:'🔒';font-size:10px}.avatar-mini.status-banido:after{content:'🚫';font-size:10px}
.admin-body{min-height:100vh;background:#07111f}.admin-topbar{position:sticky;top:0;z-index:10;background:rgba(15,27,47,.96);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:16px 22px}.admin-topbar strong{display:block;font-size:19px}.admin-topbar span{display:block;color:var(--muted);font-size:13px}.admin-topbar nav{display:flex;align-items:center;gap:12px}.admin-topbar form{margin:0}.admin-topbar button{padding:10px 14px}.admin-layout{width:min(1320px,100%);margin:0 auto;padding:22px}.admin-notice{border-radius:14px;padding:12px 14px;margin-bottom:16px;border:1px solid var(--line);line-height:1.5}.admin-notice.ok{background:#dcfce7;border-color:#86efac;color:#166534}.admin-notice.error{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stats-four{grid-template-columns:repeat(4,1fr)}.stat-card,.admin-card{background:rgba(15,27,47,.92);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 35px rgba(0,0,0,.15)}.stat-card{padding:18px}.stat-card span{display:block;color:var(--muted);font-size:14px}.stat-card strong{font-size:34px}.admin-card{padding:18px;margin-bottom:16px}.admin-card h2{margin:0 0 14px}.admin-help{color:var(--muted);margin-top:-6px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ban-forms{display:grid;grid-template-columns:1fr;gap:12px}.ban-forms form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.quick-forms{grid-template-columns:1fr}.user-create-form{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr 1fr auto;gap:10px}.admin-body input,.admin-body select{background:var(--input);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px;max-width:100%}.danger-btn{background:linear-gradient(135deg,#fb7185,#ef4444)!important;color:#450a0a!important}.admin-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;border-bottom:1px solid rgba(255,255,255,.08);padding:10px;vertical-align:top}th{color:#cbd5e1;font-size:13px;text-transform:uppercase;letter-spacing:.04em}td small{display:block;color:var(--muted);margin-top:4px}td form{margin:0}td button{padding:8px 10px!important;border-radius:10px!important}.row-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:980px){.chat-shell{grid-template-columns:1fr}.sidebar{position:fixed;right:-310px;left:auto;top:0;bottom:0;width:300px;z-index:30;transition:right .2s ease;box-shadow:var(--shadow);border-left:1px solid var(--line)}.sidebar.open{right:0}.legend-users-btn{display:inline-flex!important}.icon-btn{display:none!important}.message{max-width:96%}.stats-grid,.stats-four,.admin-grid-two,.ban-forms{grid-template-columns:1fr}.ban-forms form,.user-create-form{grid-template-columns:1fr}.admin-topbar{align-items:flex-start;gap:14px;flex-direction:column}.composer button{min-width:88px}.entry-card h1{font-size:28px}.role-legend{gap:6px}.legend-title{width:100%;font-size:12px}.legend-item{font-size:11px;padding:6px 8px}}

/* v8 - mensagens simples à esquerda e status na lateral */
.messages{align-items:stretch;gap:4px;padding-top:18px}
.message,.message.me{align-self:stretch;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;max-width:100%!important;padding:2px 0!important;color:var(--text)}
.message-line{display:block;line-height:1.45;word-break:break-word}
.msg-inline-name{display:inline;font-weight:900;margin-right:4px}
.msg-inline-body{display:inline;white-space:pre-wrap}
.msg-head,.msg-body{display:contents}
.online-list li{display:flex;align-items:center;gap:8px;grid-template-columns:none;padding:8px 4px}
.online-list small{display:none!important}
.online-name{display:block;min-width:0;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.online-name em{font-style:normal;color:var(--muted);font-weight:700;font-size:11px;margin-left:3px}
.me-box strong{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:18px;min-width:0}
.me-box strong em{display:inline;color:var(--muted);font-style:normal;font-size:13px;margin:0;font-weight:800;text-decoration:none!important}
.me-box span,.me-box > em{display:none!important}
.me-box.status-bloqueado strong em,.me-box.status-banido strong em{color:#9ca3af!important}

/* v9 - topo limpo, fundo claro da conversa, sons, alertas, emojis e status */
.chat-header{min-height:58px;padding:10px 16px;background:rgba(7,17,31,.92)}
.chat-legend-header{gap:12px}.top-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.tool-btn,.format-btn,.format-select,.color-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.07);color:var(--text);font-weight:900;font-size:13px;min-height:36px;padding:8px 11px;cursor:pointer;text-decoration:none}.tool-btn.active{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.45);color:#bbf7d0}.format-btn{min-width:38px}.format-select{appearance:auto;background:#0b1427}.color-tool input{width:28px;height:24px;border:0;background:transparent;padding:0;cursor:pointer}.legend-normal{background:#111827;color:#111827;border:1px solid rgba(255,255,255,.4)}
.messages{background:#f8fafc!important;color:#111827!important;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);padding:18px 20px!important}.system-message{background:#e0f2fe!important;border-color:#bae6fd!important;color:#075985!important}.message,.message.me{color:#111827!important}.messages .msg-inline-body{color:#111827!important}.messages .name.role-normal{color:#111827!important}.messages .name.role-admin{color:#dc2626!important}.messages .name.role-moderador{color:#ea580c!important}.messages .name.role-amigo{color:#7e22ce!important}.messages .name.status-bloqueado,.messages .name.status-banido{color:#6b7280!important}.messages a{color:#2563eb;font-weight:800}.msg-inline-body strong{font-weight:900}.msg-inline-body u{text-underline-offset:3px}.composer-wrap{background:#eef5ff!important;border-top:1px solid rgba(15,23,42,.13)!important}.composer-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.composer-tools .tool-btn,.composer-tools .format-btn,.composer-tools .format-select,.composer-tools .color-tool{background:#fff;color:#0f172a;border-color:#cbd5e1}.emoji-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;max-width:560px;background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:10px;margin:0 0 10px;box-shadow:0 15px 40px rgba(15,23,42,.18)}.emoji-panel[hidden]{display:none!important}.emoji-panel button{width:38px;height:36px;padding:0!important;background:#f8fafc!important;color:#111827!important;border:1px solid #e2e8f0!important;border-radius:10px!important;font-size:18px}.emoji-panel button:hover{background:#e0f2fe!important}.composer input{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}.composer input::placeholder{color:#64748b}.status{color:#475569}.status.error{color:#dc2626}.emoji-row{display:none!important}.sidebar{background:#0f1b2f}.logo-block{display:none!important}.me-box{position:relative}.me-box strong{align-items:center}.me-avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0!important;border:0!important;background:transparent!important;border-radius:999px!important;cursor:pointer;flex:0 0 auto}.me-avatar-btn .avatar-mini{width:20px;height:20px}.me-avatar-btn:hover{background:rgba(255,255,255,.1)!important}.presence-menu{position:absolute;left:14px;top:52px;z-index:20;width:170px;background:#081225;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.42)}.presence-menu[hidden]{display:none!important}.presence-menu button{display:flex;width:100%;justify-content:flex-start;background:transparent!important;color:var(--text)!important;border:0!important;border-radius:10px!important;padding:9px 10px!important;font-size:13px!important}.presence-menu button:hover{background:rgba(255,255,255,.08)!important}.online-list li{border-bottom:1px solid rgba(255,255,255,.08)}.online-name em,.me-box strong em{color:#aab8cf!important}.online-user.presence-online .avatar-mini{outline:2px solid #22c55e}.online-user.presence-ausente .avatar-mini{outline:2px solid #f59e0b}.online-user.presence-ocupado .avatar-mini{outline:2px solid #ef4444}.me-box.presence-online .avatar-mini{outline:2px solid #22c55e}.me-box.presence-ausente .avatar-mini{outline:2px solid #f59e0b}.me-box.presence-ocupado .avatar-mini{outline:2px solid #ef4444}.role-legend{max-width:calc(100% - 180px)}
@media(max-width:980px){.chat-header{align-items:flex-start;flex-direction:column}.role-legend{max-width:100%}.top-tools{width:100%;margin-left:0;justify-content:space-between}.composer-tools{gap:6px}.emoji-panel{max-width:100%}.messages{padding:14px!important}}

/* v10 - moderação pelo avatar */
.avatar-mod-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0!important;border:0!important;background:transparent!important;border-radius:999px!important;cursor:pointer;vertical-align:middle;margin-right:5px;flex:0 0 auto}.avatar-mod-btn:hover{background:rgba(37,99,235,.12)!important;transform:scale(1.08)}.message-line .avatar-mod-btn{margin-right:6px}.online-list .avatar-mod-btn{margin:0}.moderation-menu{position:absolute;z-index:2000;width:190px;background:#081225;border:1px solid rgba(147,197,253,.25);border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.42);color:#e5ecf7}.moderation-menu[hidden]{display:none!important}.moderation-menu-title{font-size:12px;color:#93c5fd;font-weight:900;padding:6px 8px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moderation-menu button{display:flex;width:100%;justify-content:flex-start;background:transparent!important;color:#e5ecf7!important;border:0!important;border-radius:10px!important;padding:9px 10px!important;font-size:13px!important;font-weight:800}.moderation-menu button:hover{background:rgba(255,255,255,.08)!important}.moderation-menu button:disabled{opacity:.45;cursor:not-allowed}.message-line{display:flex!important;align-items:baseline;gap:4px}.message-line .msg-inline-body{min-width:0}.message-line .avatar-mini{transform:translateY(2px)}
.online-list li{grid-template-columns:26px 1fr}


/* v11 - formatação persistente e aviso de status no perfil */
.format-btn.active{background:#dbeafe!important;border-color:#60a5fa!important;color:#1d4ed8!important;box-shadow:0 0 0 2px rgba(96,165,250,.18)}
.composer input{text-decoration-thickness:2px;text-underline-offset:3px}
.me-box .me-profile-row{display:flex;align-items:center;gap:10px;min-width:0}
.me-box .me-profile-text{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.15}
.me-box .me-profile-text strong{display:block!important;margin:0!important;font-size:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-box .me-profile-text strong em{display:inline!important;color:#aab8cf!important;font-style:normal;font-size:12px;margin-left:3px;font-weight:800;text-decoration:none!important}
.me-box .me-profile-text span{display:block!important;color:#cbd5e1!important;font-size:12px!important;font-weight:700;white-space:normal}
.me-box .me-profile-row + .presence-menu{left:14px;top:58px}
.me-box .me-logout{margin-top:12px}

/* v12 - avatares ilustrados, seletor por ícone e histórico curto */
.avatar-mini{position:relative;display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#fff!important;background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;box-shadow:0 0 0 2px rgba(255,255,255,.22),0 6px 14px rgba(15,23,42,.24)!important;vertical-align:middle;flex:0 0 auto;overflow:visible}
.avatar-mini:before{content:none!important;display:none!important}
.avatar-mini.gender-mulher{background-image:url('avatars/mulher.webp')!important}
.avatar-mini.gender-homem{background-image:url('avatars/homem.webp')!important}
.avatar-mini.gender-casal{background-image:url('avatars/casal.webp')!important}
.avatar-mini.gender-nao_escolher{background-image:url('avatars/nao_escolher.webp')!important}
.avatar-mini.role-admin{background-image:url('avatars/admin.webp')!important}
.avatar-mini:after{position:absolute;right:-6px;top:-6px;font-size:11px;line-height:1;text-shadow:0 0 6px rgba(15,23,42,.65)}
.avatar-mini.role-moderador:after{content:'★';color:#ffb020}
.avatar-mini.role-amigo:after{content:'♥';color:#b56dff}
.avatar-mini.status-bloqueado,.avatar-mini.status-banido{filter:grayscale(1) saturate(.2);opacity:.78}
.avatar-mini.status-bloqueado:after{content:'🔒';font-size:10px}
.avatar-mini.status-banido:after{content:'🚫';font-size:10px}
.message-line{align-items:center!important}
.message-line .avatar-mini{transform:none!important}
.avatar-mod-btn{width:30px;height:30px}
.online-list li{gap:10px}
.me-avatar-btn{width:54px!important;height:54px!important}
.me-avatar-btn .avatar-mini{width:42px;height:42px}
.online-list .avatar-mini,.message-line .avatar-mini{width:22px;height:22px}
.online-user.presence-online .avatar-mini,.me-box.presence-online .avatar-mini{outline:2px solid #22c55e}
.online-user.presence-ausente .avatar-mini,.me-box.presence-ausente .avatar-mini{outline:2px solid #f59e0b}
.online-user.presence-ocupado .avatar-mini,.me-box.presence-ocupado .avatar-mini{outline:2px solid #ef4444}

.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.avatar-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:18px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.avatar-choice:hover{transform:translateY(-1px);border-color:#60a5fa;background:rgba(59,130,246,.08)}
.avatar-choice input{position:absolute;opacity:0;pointer-events:none}
.avatar-choice-icon{display:block;width:58px;height:58px;border-radius:18px;background:#fff center/contain no-repeat;box-shadow:0 10px 22px rgba(15,23,42,.2)}
.avatar-choice-label{display:block;font-size:12px;font-weight:800;color:var(--text);text-align:center;line-height:1.25}
.avatar-choice.selected,.avatar-choice:has(input:checked){border-color:#60a5fa;background:rgba(59,130,246,.12);box-shadow:0 0 0 2px rgba(96,165,250,.18)}
.avatar-choice input:checked + .avatar-choice-icon{transform:scale(1.03)}
.avatar-image.avatar-mulher{background-image:url('avatars/mulher.webp')}
.avatar-image.avatar-homem{background-image:url('avatars/homem.webp')}
.avatar-image.avatar-casal{background-image:url('avatars/casal.webp')}
.avatar-image.avatar-nao-escolher{background-image:url('avatars/nao_escolher.webp')}
.avatar-image.avatar-admin{background-image:url('avatars/admin.webp')}
.entry-form .avatar-picker{margin-top:2px}
.legend-title{white-space:nowrap}

@media(max-width:680px){
  .avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avatar-choice-icon{width:52px;height:52px}
}


/* v13 - avatares maiores, sem círculo branco */
.avatar-mini{background-color:transparent!important;box-shadow:none!important;border-radius:0!important}
.avatar-mod-btn,.me-avatar-btn{background:transparent!important}
.avatar-mod-btn:hover,.me-avatar-btn:hover{background:rgba(255,255,255,.06)!important}
.online-list .avatar-mini,.message-line .avatar-mini{width:30px!important;height:30px!important;background-size:contain!important}
.me-avatar-btn .avatar-mini{width:52px!important;height:52px!important;background-size:contain!important}
.me-avatar-btn{width:62px!important;height:62px!important}
.avatar-mod-btn{width:36px!important;height:36px!important}
.avatar-choice-icon{width:70px!important;height:70px!important;background-size:contain!important;box-shadow:none!important;border-radius:0!important;background-color:transparent!important}
.avatar-choice{padding:14px 10px!important}
.avatar-mini.gender-casal{background-size:contain!important}
.online-list li{padding:10px 4px!important}
.message-line{gap:6px!important}
.online-user.presence-online .avatar-mini,.me-box.presence-online .avatar-mini{outline:2px solid #22c55e;outline-offset:1px}
.online-user.presence-ausente .avatar-mini,.me-box.presence-ausente .avatar-mini{outline:2px solid #f59e0b;outline-offset:1px}
.online-user.presence-ocupado .avatar-mini,.me-box.presence-ocupado .avatar-mini{outline:2px solid #ef4444;outline-offset:1px}
@media(max-width:680px){.avatar-choice-icon{width:60px!important;height:60px!important}}


/* v14 - paleta fixa de cores e prévia no campo de texto */
.color-tool{display:none!important}
.color-palette{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:14px;padding:7px 9px}
.color-palette-label{font-weight:900;font-size:13px;margin-right:2px}
.color-swatch{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border-radius:999px!important;border:2px solid rgba(15,23,42,.18)!important;background:var(--swatch)!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.35),0 2px 6px rgba(15,23,42,.16)!important;cursor:pointer}
.color-swatch:hover{transform:translateY(-1px) scale(1.05)}
.color-swatch.active{outline:3px solid rgba(37,99,235,.35);outline-offset:2px;border-color:#fff!important;box-shadow:0 0 0 1px #2563eb,0 4px 12px rgba(37,99,235,.28)!important}
#message-input{transition:color .12s ease,font-size .12s ease,font-weight .12s ease,text-decoration-color .12s ease}
@media(max-width:680px){.color-palette{width:100%;gap:6px}.color-swatch{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}}


/* v15 - avatares WEBP enviados pelo usuário */
.avatar-mini,.avatar-choice-icon{image-rendering:auto}


/* v16 - avatar admin WEBP enviado pelo usuário */
.avatar-mini.role-admin{background-image:url('avatars/admin.webp')!important}
.avatar-image.avatar-admin{background-image:url('avatars/admin.webp')!important}


/* v17 - prévia da cor, emoji flutuante e presença por bolinha */
.emoji-toggle-btn{width:44px!important;min-width:44px!important;padding:0!important;font-size:20px!important}
.composer-wrap{position:relative!important}
.emoji-panel{position:absolute!important;left:14px!important;bottom:calc(100% - 4px)!important;z-index:1000!important;margin:0!important;max-width:min(620px,calc(100vw - 330px))!important;max-height:270px!important;overflow:auto!important;box-shadow:0 24px 70px rgba(15,23,42,.35)!important}
.emoji-panel:after{content:'';position:absolute;left:24px;bottom:-8px;width:16px;height:16px;background:#fff;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;transform:rotate(45deg)}
#message-input{color:var(--typing-color,#111827)!important}
.avatar-mini{overflow:visible!important}
.online-user.presence-online .avatar-mini,.online-user.presence-ausente .avatar-mini,.online-user.presence-ocupado .avatar-mini,.me-box.presence-online .avatar-mini,.me-box.presence-ausente .avatar-mini,.me-box.presence-ocupado .avatar-mini{outline:none!important}
.avatar-mini.presence-online:before,.avatar-mini.presence-ausente:before,.avatar-mini.presence-ocupado:before,.online-user.presence-online .avatar-mini:before,.online-user.presence-ausente .avatar-mini:before,.online-user.presence-ocupado .avatar-mini:before,.me-box.presence-online .avatar-mini:before,.me-box.presence-ausente .avatar-mini:before,.me-box.presence-ocupado .avatar-mini:before{content:''!important;display:block!important;position:absolute!important;left:0!important;bottom:0!important;width:9px!important;height:9px!important;border-radius:999px!important;border:2px solid #0f1b2f!important;box-shadow:0 1px 4px rgba(15,23,42,.3)!important;z-index:3!important}
.avatar-mini.presence-online:before,.online-user.presence-online .avatar-mini:before,.me-box.presence-online .avatar-mini:before{background:#22c55e!important}
.avatar-mini.presence-ausente:before,.online-user.presence-ausente .avatar-mini:before,.me-box.presence-ausente .avatar-mini:before{background:#f59e0b!important}
.avatar-mini.presence-ocupado:before,.online-user.presence-ocupado .avatar-mini:before,.me-box.presence-ocupado .avatar-mini:before{background:#ef4444!important}
.me-avatar-btn .avatar-mini:before{width:12px!important;height:12px!important;border-width:2px!important}
@media(max-width:980px){.emoji-panel{max-width:calc(100vw - 28px)!important;left:14px!important;right:14px!important}}


/* v18 - bolinha inferior esquerda e tooltip visual de atalhos dos emojis */
.avatar-mini.presence-online:before,
.avatar-mini.presence-ausente:before,
.avatar-mini.presence-ocupado:before,
.online-user.presence-online .avatar-mini:before,
.online-user.presence-ausente .avatar-mini:before,
.online-user.presence-ocupado .avatar-mini:before,
.me-box.presence-online .avatar-mini:before,
.me-box.presence-ausente .avatar-mini:before,
.me-box.presence-ocupado .avatar-mini:before{
    left:-4px!important;
    right:auto!important;
    top:auto!important;
    bottom:-4px!important;
    width:10px!important;
    height:10px!important;
    border:2px solid #0f1b2f!important;
}
.me-avatar-btn .avatar-mini:before{
    left:-5px!important;
    bottom:-5px!important;
    width:13px!important;
    height:13px!important;
}
.emoji-panel button{position:relative!important}
.emoji-panel button[data-shortcut]:hover:after{
    content:attr(data-shortcut);
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%);
    background:#0f172a;
    color:#fff;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 8px 22px rgba(15,23,42,.28);
    z-index:20;
    pointer-events:none;
}
.emoji-panel button[data-shortcut]:hover:before{
    content:''!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:calc(100% + 3px)!important;
    transform:translateX(-50%) rotate(45deg)!important;
    width:8px!important;
    height:8px!important;
    background:#0f172a!important;
    border:0!important;
    border-radius:2px!important;
    z-index:19!important;
    pointer-events:none!important;
    box-shadow:none!important;
}


/* v19 - sem avatar na conversa, emojis sem scroll e login separado */
.emoji-panel{max-height:none!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important}
.emoji-panel button[data-shortcut]:hover:after,
.emoji-panel button[data-shortcut]:hover:before{display:none!important;content:none!important}
.message-line{display:block!important;align-items:initial!important;gap:0!important}
.message-line .avatar-mod-btn,.message-line .avatar-mini{display:none!important}
.entry-links-stack{flex-direction:column;align-items:center;gap:12px!important}
.entry-links-stack a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border-radius:14px;background:rgba(147,197,253,.1);border:1px solid rgba(147,197,253,.22);width:min(270px,100%)}
.entry-links-stack .entry-login-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#052e16!important;border:0;font-weight:900}
#message-input{color:var(--typing-color,#111827)!important}


/* v21 - botões e textos da tela inicial */
.entry-form button.visitor-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#ffffff!important;}
.entry-links-stack .entry-login-btn{color:#ffffff!important;}


/* v23 - nomes sem texto de status e ajustes de cadastro/login */
.online-name em,.me-profile-text strong em{display:none!important}
body:has(.brand-badge:first-child) .entry-form button[type="submit"]{color:#ffffff!important}
.entry-card .entry-form button[type="submit"]{color:#ffffff!important}


/* v25 - botão Enviar branco */
.composer button[type="submit"]{background:#ffffff!important;color:#0f172a!important;border:1px solid #cbd5e1!important;box-shadow:0 4px 12px rgba(15,23,42,.12)!important}
.composer button[type="submit"]:hover{background:#f8fafc!important;color:#0f172a!important}


/* v26 - correções do painel admin */
.admin-body .avatar-mini{width:34px!important;height:34px!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:transparent!important;border-radius:0!important;box-shadow:none!important;vertical-align:middle}
.admin-body .name{gap:8px;min-width:0}
.admin-body .admin-layout{max-width:100%;overflow:hidden}
.admin-body .admin-card{min-width:0;max-width:100%}
.admin-body .admin-grid-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.admin-body .admin-grid-two > .admin-card{min-width:0;overflow:hidden}
.admin-body .table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden}
.admin-body table{max-width:100%}
.admin-body td,.admin-body th{overflow-wrap:anywhere;word-break:break-word}
.admin-body .ban-forms form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.admin-body input,.admin-body select{min-width:0}
.admin-body .admin-topbar{gap:14px}
.admin-body .admin-topbar nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1200px){.admin-body .admin-grid-two{grid-template-columns:1fr}.admin-body table{min-width:640px}}

/* v30 - usuário bloqueado/banido não consegue alterar status */
.me-avatar-btn:disabled,.me-avatar-btn.disabled{cursor:not-allowed!important;opacity:.72;filter:grayscale(1)}
.me-avatar-btn:disabled:hover,.me-avatar-btn.disabled:hover{background:transparent!important;transform:none!important}

/* v31 - tela bloqueada/banida no centro da conversa */
.locked-screen{
    margin:auto;
    align-self:center;
    justify-self:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:min(520px,92%);
    max-width:min(680px,94%);
    padding:34px 28px;
    border-radius:26px;
    text-align:center;
    background:#fff;
    border:2px solid #d1d5db;
    box-shadow:0 22px 70px rgba(15,23,42,.18);
    color:#111827;
}
.locked-screen strong{font-size:30px;line-height:1.1;color:#dc2626;font-weight:950}
.locked-screen span{font-size:18px;line-height:1.35;color:#374151;font-weight:800}
.locked-screen.status-banido{border-color:#ef4444;background:#fff1f2}
.locked-screen.status-bloqueado{border-color:#f59e0b;background:#fffbeb}
.composer-tools button:disabled,.composer-tools select:disabled,.emoji-panel button:disabled,.color-swatch:disabled{opacity:.45;cursor:not-allowed!important;transform:none!important}
.me-avatar-btn.disabled,.me-avatar-btn:disabled{opacity:.55;cursor:not-allowed!important}

/* v32 - visual azul, lateral clara e informações no avatar */
body{
    background:linear-gradient(180deg,#d7ecff 0,#eef7ff 45%,#f7fbff 100%)!important;
}
.chat-shell{
    background:#d8ecff!important;
}
.chat-main{
    background:#dfefff!important;
}
.chat-clean-header{
    min-height:52px!important;
    background:linear-gradient(180deg,#2f7dc5 0,#1f65ac 100%)!important;
    border-bottom:1px solid #12477f!important;
    justify-content:flex-end!important;
}
.chat-clean-header .top-tools{
    margin-left:auto!important;
}
.chat-clean-header .tool-btn,
.chat-clean-header .legend-users-btn{
    background:#e9f5ff!important;
    color:#0f3f73!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 3px 10px rgba(15,63,115,.18)!important;
}
.chat-clean-header .tool-btn.active{
    background:#bfe4ff!important;
    color:#06345f!important;
}
.messages{
    background:#f3f9ff!important;
    border-top:1px solid #b8d6f0!important;
    border-bottom:1px solid #b8d6f0!important;
}
.composer-wrap{
    background:#d5eaff!important;
    border-top:1px solid #a9cbe9!important;
}
.composer-tools .tool-btn,
.composer-tools .format-btn,
.composer-tools .format-select,
.composer-tools .color-palette{
    border-color:#a9cbe9!important;
    box-shadow:0 2px 8px rgba(31,101,172,.08)!important;
}
.composer input{
    border-color:#a9cbe9!important;
    background:#ffffff!important;
}
.sidebar{
    background:linear-gradient(180deg,#f2f9ff 0,#dff0ff 100%)!important;
    color:#0f172a!important;
    border-left:1px solid #9fc7e8!important;
}
.sidebar .me-box{
    background:#ffffff!important;
    border:1px solid #b8d6f0!important;
    box-shadow:0 8px 22px rgba(31,101,172,.12)!important;
}
.sidebar .online-title span{
    color:#0f3f73!important;
    text-shadow:none!important;
}
.sidebar .online-title b{
    background:#dbeafe!important;
    color:#1d4ed8!important;
    border-color:#93c5fd!important;
}
.sidebar .online-list li{
    border-bottom:1px solid #c7dff5!important;
    color:#0f172a!important;
}
.sidebar .online-name{
    color:#0f172a!important;
    text-shadow:none!important;
}
.sidebar .me-profile-text span,
.sidebar .me-profile-text strong{
    text-shadow:none!important;
}
.sidebar .me-profile-text span{
    color:#334155!important;
}
.sidebar .role-admin .online-name,.sidebar .me-box.role-admin strong{color:#dc2626!important}
.sidebar .role-moderador .online-name,.sidebar .me-box.role-moderador strong{color:#ea580c!important}
.sidebar .role-amigo .online-name,.sidebar .me-box.role-amigo strong{color:#7e22ce!important}
.sidebar .role-normal .online-name,.sidebar .me-box.role-normal strong{color:#0f172a!important}
.sidebar .status-bloqueado .online-name,.sidebar .status-banido .online-name,.sidebar .me-box.status-bloqueado strong,.sidebar .me-box.status-banido strong{color:#6b7280!important}
.sidebar .me-logout{
    color:#ffffff!important;
}
.presence-menu{
    background:#ffffff!important;
    border-color:#b8d6f0!important;
    color:#0f172a!important;
    box-shadow:0 18px 46px rgba(31,101,172,.22)!important;
}
.presence-menu button{
    color:#0f172a!important;
}
.presence-menu button:hover{
    background:#e8f4ff!important;
}
.avatar-info-wrap,.avatar-mod-btn{
    position:relative!important;
}
.avatar-info-wrap[data-user-tooltip]:hover:after,
.avatar-info-wrap[data-user-tooltip]:focus:after,
.avatar-mod-btn[data-user-tooltip]:hover:after,
.avatar-mod-btn[data-user-tooltip]:focus:after{
    content:attr(data-user-tooltip);
    position:absolute;
    left:50%;
    top:calc(100% + 10px);
    transform:translateX(-50%);
    width:max-content;
    max-width:240px;
    white-space:pre-line;
    background:#ffffff;
    color:#0f172a;
    border:1px solid #93c5fd;
    border-radius:14px;
    padding:9px 11px;
    font-size:12px;
    line-height:1.35;
    font-weight:800;
    text-align:left;
    box-shadow:0 12px 34px rgba(31,101,172,.24);
    z-index:2500;
    pointer-events:none;
}
.avatar-info-wrap[data-user-tooltip]:hover:before,
.avatar-info-wrap[data-user-tooltip]:focus:before,
.avatar-mod-btn[data-user-tooltip]:hover:before,
.avatar-mod-btn[data-user-tooltip]:focus:before{
    content:''!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:calc(100% + 5px)!important;
    transform:translateX(-50%) rotate(45deg)!important;
    width:10px!important;
    height:10px!important;
    background:#ffffff!important;
    border-left:1px solid #93c5fd!important;
    border-top:1px solid #93c5fd!important;
    border-radius:2px!important;
    z-index:2499!important;
    pointer-events:none!important;
    box-shadow:none!important;
}
.online-list .avatar-info-wrap[data-user-tooltip]:hover:after,
.online-list .avatar-mod-btn[data-user-tooltip]:hover:after,
.online-list .avatar-info-wrap[data-user-tooltip]:focus:after,
.online-list .avatar-mod-btn[data-user-tooltip]:focus:after{
    left:0;
    transform:none;
}
.online-list .avatar-info-wrap[data-user-tooltip]:hover:before,
.online-list .avatar-mod-btn[data-user-tooltip]:hover:before,
.online-list .avatar-info-wrap[data-user-tooltip]:focus:before,
.online-list .avatar-mod-btn[data-user-tooltip]:focus:before{
    left:16px!important;
    transform:rotate(45deg)!important;
}
.moderation-user-info{
    display:grid;
    gap:3px;
    margin:0 6px 8px;
    padding:8px 9px;
    background:#e8f4ff;
    border:1px solid #b8d6f0;
    color:#0f172a;
    border-radius:10px;
    font-size:12px;
    line-height:1.35;
}
.moderation-user-info span{display:block}
.moderation-menu{
    background:#ffffff!important;
    color:#0f172a!important;
    border-color:#93c5fd!important;
}
.moderation-menu-title{color:#0f3f73!important}
.moderation-menu button{
    color:#0f172a!important;
}
.moderation-menu button:hover{
    background:#e8f4ff!important;
}
@media(max-width:980px){
    .sidebar{border-left:1px solid #9fc7e8!important;box-shadow:0 20px 60px rgba(31,101,172,.22)!important}
    .chat-clean-header{align-items:center!important;flex-direction:row!important}
}


/* v33 - ajustes de tooltip, sidebar e som padrão */
.online-list{overflow:visible!important;max-height:none!important;scrollbar-width:none!important}
.online-list::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.sidebar{overflow:visible!important}
.avatar-info-wrap[data-user-tooltip]:hover:before,
.avatar-info-wrap[data-user-tooltip]:focus:before,
.avatar-mod-btn[data-user-tooltip]:hover:before,
.avatar-mod-btn[data-user-tooltip]:focus:before{content:none!important;display:none!important}
.sidebar .me-logout{background:#ef4444!important;border:1px solid #dc2626!important;color:#ffffff!important;text-shadow:0 1px 1px rgba(0,0,0,.22)!important;font-weight:900!important;padding:7px 14px!important}
.sidebar .me-logout:hover{background:#dc2626!important;color:#ffffff!important}
.me-box .me-profile-text span{line-height:1.25}
@media(max-width:980px){.sidebar{overflow-y:auto!important;scrollbar-width:none!important}.sidebar::-webkit-scrollbar{display:none!important}}


/* v34 - tooltip único e ações do perfil */
.avatar-info-wrap[data-user-tooltip]:hover:after,
.avatar-info-wrap[data-user-tooltip]:focus:after,
.avatar-mod-btn[data-user-tooltip]:hover:after,
.avatar-mod-btn[data-user-tooltip]:focus:after{
    font-size:13px!important;
    line-height:1.45!important;
    font-weight:700!important;
    min-width:190px!important;
    max-width:270px!important;
    border-radius:6px!important;
    border:1px solid #64748b!important;
    box-shadow:0 10px 28px rgba(15,23,42,.22)!important;
    padding:10px 12px!important;
}
.avatar-info-wrap[data-user-tooltip]:hover:before,
.avatar-info-wrap[data-user-tooltip]:focus:before,
.avatar-mod-btn[data-user-tooltip]:hover:before,
.avatar-mod-btn[data-user-tooltip]:focus:before{content:none!important;display:none!important}
.me-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.sidebar .me-actions .me-logout,
.sidebar .me-actions .me-password,
.sidebar .me-actions .me-register{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 13px!important;font-size:12px;font-weight:900;text-decoration:none;border:0!important;color:#fff!important;text-shadow:none!important;line-height:1!important}
.sidebar .me-actions .me-logout{background:#ef4444!important}
.sidebar .me-actions .me-logout:hover{background:#dc2626!important}
.sidebar .me-actions .me-password{background:#2563eb!important}
.sidebar .me-actions .me-password:hover{background:#1d4ed8!important}
.sidebar .me-actions .me-register{background:#22c55e!important;color:#ffffff!important}
.sidebar .me-actions .me-register:hover{background:#16a34a!important;color:#ffffff!important}
.change-password-card .entry-links{margin-top:14px}

/* v35 - perfil no topo, menu por nome, som só ícone e contraste dos botões ativos */
.chat-clean-header{
    min-height:76px!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding:8px 12px!important;
    gap:12px!important;
}
.top-profile.me-box{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-width:190px!important;
    max-width:320px!important;
    padding:8px 10px!important;
    margin:0!important;
    border-radius:0 0 0 0!important;
    background:#ffffff!important;
    border:1px solid #b8d6f0!important;
    box-shadow:none!important;
    align-self:stretch!important;
}
.top-profile .me-profile-row{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important}
.top-profile .me-avatar-btn{width:52px!important;height:52px!important;flex:0 0 auto!important}
.top-profile .me-avatar-btn .avatar-mini{width:44px!important;height:44px!important}
.me-name-btn{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
    flex:1!important;
    padding:4px 2px!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer!important;
    text-align:left!important;
    color:#0f172a!important;
}
.me-name-btn strong{font-size:15px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.me-name-btn span{display:block!important;font-size:10px!important;line-height:1.15!important;color:#334155!important;font-weight:800!important}
.me-name-btn:hover strong{text-decoration:underline!important}
.top-profile .presence-menu,
.top-profile .profile-menu{
    position:absolute!important;
    left:8px!important;
    top:calc(100% + 6px)!important;
    z-index:3000!important;
    width:180px!important;
    background:#ffffff!important;
    color:#0f172a!important;
    border:1px solid #93c5fd!important;
    border-radius:12px!important;
    box-shadow:0 18px 46px rgba(31,101,172,.26)!important;
    padding:8px!important;
}
.top-profile .presence-menu[hidden],.top-profile .profile-menu[hidden]{display:none!important}
.top-profile .profile-menu a,.top-profile .presence-menu button{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    border:0!important;
    border-radius:9px!important;
    padding:9px 10px!important;
    background:transparent!important;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:900!important;
    text-decoration:none!important;
}
.top-profile .profile-menu a:hover,.top-profile .presence-menu button:hover{background:#e8f4ff!important}
.top-profile .profile-menu .me-password{background:#2563eb!important;color:#ffffff!important;justify-content:center!important}
.top-profile .profile-menu .me-password:hover{background:#1d4ed8!important;color:#ffffff!important}
.top-tools{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important}
.sound-icon-btn{
    width:50px!important;
    height:42px!important;
    min-width:50px!important;
    padding:0!important;
    border-radius:11px!important;
    font-size:19px!important;
    line-height:1!important;
}
.sound-icon-btn.active{background:#dbeafe!important;color:#0f3f73!important}
.top-logout,.top-register{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:0 17px!important;
    border-radius:9px!important;
    font-size:14px!important;
    font-weight:950!important;
    text-decoration:none!important;
    color:#ffffff!important;
    border:1px solid rgba(255,255,255,.55)!important;
    box-shadow:0 2px 9px rgba(15,63,115,.18)!important;
}
.top-logout{background:#ef4444!important}
.top-logout:hover{background:#dc2626!important;color:#ffffff!important}
.top-register{background:#22c55e!important}
.top-register:hover{background:#16a34a!important;color:#ffffff!important}
.users-right{padding-top:14px!important}
.format-btn.active,.composer-tools .format-btn.active{
    background:#2563eb!important;
    color:#ffffff!important;
    border-color:#1d4ed8!important;
    box-shadow:0 0 0 2px rgba(37,99,235,.24),0 2px 8px rgba(37,99,235,.18)!important;
}
.format-btn.active:hover,.composer-tools .format-btn.active:hover{
    background:#1e40af!important;
    color:#ffffff!important;
    border-color:#1e3a8a!important;
}
.format-btn.active strong,.format-btn.active u{color:#ffffff!important;text-decoration-color:#ffffff!important}
@media(max-width:980px){
    .chat-clean-header{min-height:auto!important;align-items:flex-start!important;flex-direction:column!important}
    .top-profile.me-box{width:100%!important;align-self:auto!important;max-width:none!important;border-radius:14px!important}
    .top-tools{width:100%!important;justify-content:flex-end!important;flex-wrap:wrap!important}
}

/* v36 - paleta deslizante, perfil no tema azul e modais internos */
.color-palette{
    position:relative!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    max-width:72px!important;
    transition:max-width .28s ease, box-shadow .2s ease, background .2s ease!important;
    cursor:pointer!important;
    white-space:nowrap!important;
}
.color-palette.open{
    max-width:430px!important;
    box-shadow:0 8px 24px rgba(15,63,115,.18)!important;
}
.color-palette-label{
    flex:0 0 auto!important;
    font-weight:900!important;
}
.color-palette:not(.open) .color-swatch:not(.active){
    display:none!important;
}
.color-palette .color-swatch{
    position:relative!important;
    flex:0 0 auto!important;
}
.color-palette .color-swatch.active::after{
    content:'✓'!important;
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    color:#ffffff!important;
    font-size:16px!important;
    font-weight:950!important;
    text-shadow:0 1px 3px rgba(0,0,0,.85)!important;
    pointer-events:none!important;
}
.color-palette .color-swatch.active[data-color="#111827"]::after,
.color-palette .color-swatch.active[data-color="#374151"]::after{
    color:#ffffff!important;
}
.color-palette.open .color-swatch{
    animation:swatchSlideIn .2s ease both;
}
@keyframes swatchSlideIn{from{transform:translateX(-8px);opacity:.15}to{transform:translateX(0);opacity:1}}

.top-profile.me-box{
    background:linear-gradient(180deg,#e8f4ff 0%,#d5ebff 100%)!important;
    border-color:#86bde9!important;
    color:#0f3f73!important;
}
.me-name-btn strong{
    font-size:18px!important;
    font-weight:800!important;
    color:inherit!important;
}
.me-name-btn span{
    font-size:12px!important;
    font-weight:400!important;
    color:#1e4d78!important;
    line-height:1.25!important;
}
.top-profile .me-profile-row{gap:10px!important}
.top-profile .me-avatar-btn{width:58px!important;height:58px!important}
.top-profile .me-avatar-btn .avatar-mini{width:48px!important;height:48px!important}

body.modal-open{overflow:hidden!important}
.app-modal{
    position:fixed!important;
    inset:0!important;
    z-index:5000!important;
    display:grid!important;
    place-items:center!important;
    padding:18px!important;
    background:rgba(4,24,48,.52)!important;
    backdrop-filter:blur(5px)!important;
}
.app-modal[hidden]{display:none!important}
.app-modal-panel{
    position:relative!important;
    width:min(520px,100%)!important;
    max-height:min(92vh,760px)!important;
    overflow:auto!important;
    background:linear-gradient(180deg,#e8f4ff 0%,#cfe8ff 100%)!important;
    border:1px solid #75b7e9!important;
    border-radius:24px!important;
    box-shadow:0 28px 90px rgba(15,63,115,.35)!important;
    color:#0f172a!important;
    padding:28px!important;
}
.app-modal-close{
    position:absolute!important;
    right:14px!important;
    top:12px!important;
    width:36px!important;
    height:36px!important;
    border-radius:999px!important;
    border:1px solid #91c5f1!important;
    background:#ffffff!important;
    color:#0f3f73!important;
    font-size:24px!important;
    font-weight:900!important;
    cursor:pointer!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
}
.app-modal-close:hover{background:#dbeafe!important;color:#0b2f56!important}
.modal-card{text-align:center!important}
.modal-card h2{margin:14px 0 8px!important;font-size:30px!important;color:#0f3f73!important}
.modal-card p{margin:0 0 18px!important;color:#315f89!important;line-height:1.45!important}
.modal-card small{display:block;margin-top:12px;color:#315f89!important;font-weight:700!important}
.modal-form input,
.modal-form select{
    background:#ffffff!important;
    color:#0f172a!important;
    border-color:#9bc7ef!important;
}
.modal-form input::placeholder{color:#64748b!important}
.modal-form button[type="submit"]{
    background:#2563eb!important;
    color:#ffffff!important;
    border:1px solid #1d4ed8!important;
    text-shadow:none!important;
}
.modal-form button[type="submit"]:hover{background:#1d4ed8!important;color:#ffffff!important}
.modal-status{
    margin-top:14px!important;
    border-radius:14px!important;
    padding:10px 12px!important;
    font-weight:900!important;
    min-height:0!important;
    color:#0f172a!important;
}
.modal-status:empty{display:none!important}
.modal-status.ok{background:rgba(34,197,94,.16)!important;border:1px solid rgba(34,197,94,.42)!important;color:#166534!important}
.modal-status.error{background:rgba(239,68,68,.14)!important;border:1px solid rgba(239,68,68,.42)!important;color:#991b1b!important}
.modal-avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.app-modal .brand-badge{background:rgba(37,99,235,.12)!important;color:#0f3f73!important;border-color:#93c5fd!important}

@media(max-width:680px){
    .color-palette.open{max-width:100%!important}
    .app-modal-panel{padding:22px 16px!important;border-radius:20px!important}
    .modal-avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .modal-card h2{font-size:26px!important}
}

/* v37 - perfil limpo, status visível e textos maiores */
body{font-size:17px!important}
.chat-shell{font-size:17px!important}
.chat-clean-header{min-height:72px!important;padding:10px 20px!important;background:#2b7fc1!important;border-bottom:2px solid #5aa8dd!important}
.top-profile.me-box{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:#ffffff!important;
    padding:0!important;
    max-width:none!important;
    min-width:420px!important;
    align-self:center!important;
}
.top-profile .me-profile-row{gap:12px!important;align-items:center!important}
.me-avatar-static{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:54px!important;height:54px!important;flex:0 0 auto!important}
.me-avatar-static .avatar-mini{width:48px!important;height:48px!important;background-size:contain!important}
.me-profile-info{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;flex-wrap:wrap!important}
.me-profile-name{font-size:22px!important;line-height:1.05!important;color:#ffffff!important;font-weight:800!important;text-shadow:0 1px 2px rgba(0,38,78,.28)!important;white-space:nowrap!important;max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.presence-inline{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.presence-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:30px!important;padding:5px 10px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.58)!important;background:rgba(255,255,255,.16)!important;color:#ffffff!important;font-size:14px!important;font-weight:800!important;line-height:1!important;box-shadow:0 1px 6px rgba(0,52,102,.12)!important;cursor:pointer!important}
.presence-chip i{width:10px!important;height:10px!important;border-radius:999px!important;display:inline-block!important;background:#22c55e!important;box-shadow:0 0 0 1px rgba(255,255,255,.85)!important}
.presence-chip-ausente i{background:#facc15!important}.presence-chip-ocupado i{background:#ef4444!important}.presence-chip-online i{background:#22c55e!important}
.presence-chip.active{background:#ffffff!important;color:#0f3f73!important;border-color:#ffffff!important;box-shadow:0 2px 12px rgba(0,52,102,.2)!important}
.presence-chip:disabled{opacity:.55!important;cursor:not-allowed!important}
.top-tools{margin-left:auto!important;gap:10px!important;flex-wrap:wrap!important}
.top-password,.top-register,.top-logout{font-size:16px!important;min-height:44px!important;padding:0 18px!important;border-radius:11px!important;color:#ffffff!important;font-weight:900!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.55)!important}
.top-password{background:#2563eb!important}.top-password:hover{background:#1d4ed8!important;color:#ffffff!important}
.top-register{background:#22c55e!important}.top-register:hover{background:#16a34a!important;color:#ffffff!important}
.top-logout{background:#ef4444!important}.top-logout:hover{background:#dc2626!important;color:#ffffff!important}
.sound-icon-btn{width:50px!important;height:44px!important;font-size:20px!important}
.users-right,.sidebar{font-size:17px!important}.online-title span{font-size:20px!important}.online-title b{font-size:16px!important}.online-name{font-size:16px!important}.online-list li{font-size:16px!important}
.messages{font-size:18px!important}.system-message{font-size:15px!important}.composer-tools .tool-btn,.composer-tools .format-btn,.composer-tools .format-select,.composer-tools .color-palette{font-size:16px!important}.composer input{font-size:18px!important}.composer button[type="submit"]{font-size:17px!important}
.entry-card p,.entry-card small,.entry-links a{font-size:17px!important}.entry-form input,.entry-form button{font-size:17px!important}.modal-card p,.modal-card small,.modal-form input,.modal-form button{font-size:17px!important}
/* paleta de cor lado a lado */
.color-palette{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:nowrap!important;max-width:112px!important;min-width:96px!important;width:auto!important;padding:7px 10px!important;overflow:hidden!important;vertical-align:middle!important}
.color-palette.open{max-width:520px!important;width:auto!important;overflow:visible!important}
.color-palette-label{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;font-size:16px!important;margin:0!important;line-height:1!important;color:#0f172a!important}
.color-palette-label::after{content:':'!important;margin-left:1px!important}
.color-palette .color-swatch{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0!important}
.color-palette:not(.open) .color-swatch:not(.active){display:none!important}
.color-palette:not(.open) .color-swatch.active{display:inline-flex!important}
.color-palette .color-swatch.active::after{font-size:17px!important}
@media(max-width:980px){
    .chat-clean-header{align-items:flex-start!important;gap:8px!important}
    .top-profile.me-box{min-width:0!important;width:100%!important}
    .me-profile-info{gap:8px!important}.me-profile-name{font-size:20px!important;max-width:160px!important}.presence-chip{font-size:13px!important;padding:5px 8px!important}.top-tools{width:100%!important;justify-content:flex-end!important}
}
@media(max-width:680px){.color-palette{max-width:112px!important;min-width:96px!important}.color-palette.open{max-width:100%!important;flex-wrap:wrap!important}.presence-inline{width:100%}.top-tools{justify-content:flex-start!important}}


/* v38 - topo alinhado, status recolhido, tamanhos ajustados */
body,.chat-shell{font-size:15px!important}
.chat-clean-header{min-height:66px!important;padding:8px 16px!important}
.top-profile.me-box{min-width:0!important;max-width:none!important;width:auto!important;align-self:center!important}
.top-profile .me-profile-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
.me-avatar-static{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;flex:0 0 46px!important}
.me-avatar-static .avatar-mini{width:40px!important;height:40px!important}
.me-profile-info{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
.me-profile-name{font-size:18px!important;font-weight:800!important;max-width:180px!important}
.top-tools{gap:8px!important}
.top-password,.top-register,.top-logout,.sound-icon-btn{min-height:40px!important;height:40px!important}
.top-password,.top-register,.top-logout{font-size:14px!important;padding:0 14px!important}
.sound-icon-btn{width:42px!important;min-width:42px!important;font-size:18px!important}
.messages{font-size:16px!important}.system-message{font-size:13px!important}.composer input{font-size:16px!important}.composer button[type="submit"]{font-size:15px!important}
.users-right,.sidebar,.online-name,.online-list li,.online-title b{font-size:14px!important}.online-title span{font-size:18px!important}
.entry-card p,.entry-card small,.entry-links a,.entry-form input,.entry-form button,.modal-card p,.modal-card small,.modal-form input,.modal-form button{font-size:15px!important}

/* ferramentas alinhadas com mesma altura */
.composer-tools{align-items:stretch!important;gap:10px!important}
.composer-tools .tool-btn,
.composer-tools .format-btn,
.composer-tools .format-select,
.composer-tools .color-palette{min-height:40px!important;height:40px!important;box-sizing:border-box!important;border-radius:14px!important}
.composer-tools .format-btn{min-width:58px!important}
.composer-tools .format-select{padding:0 14px!important;line-height:38px!important}
.composer-tools .tool-btn{min-width:48px!important}

/* paleta lado a lado */
.color-palette{display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;max-width:112px!important;min-width:112px!important;padding:0 10px!important}
.color-palette.open{max-width:420px!important;padding-right:12px!important}
.color-palette-label{display:inline-flex!important;align-items:center!important;height:100%!important;font-size:14px!important;font-weight:900!important}
.color-palette .color-swatch{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}
.color-palette:not(.open) .color-swatch:not(.active){display:none!important}
.color-palette:not(.open) .color-swatch.active{display:inline-flex!important}

/* seletor de status recolhido */
.presence-inline{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;min-width:138px!important;z-index:40!important}
.presence-inline .presence-chip{display:none!important;min-width:138px!important;justify-content:flex-start!important;padding:0 12px!important;height:34px!important;min-height:34px!important;font-size:13px!important}
.presence-inline .presence-chip.active{display:inline-flex!important;background:#ffffff!important;color:#0f3f73!important;border-color:#ffffff!important;box-shadow:0 2px 12px rgba(0,52,102,.20)!important}
.presence-inline .presence-chip.active{order:-1!important}
.presence-inline.open{padding-bottom:0!important}
.presence-inline.open .presence-chip{display:inline-flex!important;background:#ffffff!important;color:#0f3f73!important;border-color:#bfdbfe!important}
.presence-inline.open .presence-chip.active{margin-bottom:0!important}
.presence-inline.open::after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:transparent}
.presence-inline.open .presence-chip:hover{background:#eff6ff!important}
.presence-inline .presence-chip i{box-shadow:0 0 0 1px rgba(15,23,42,.15)!important}

/* responsivo */
@media(max-width:860px){
  .chat-clean-header{align-items:flex-start!important;flex-direction:column!important}
  .top-profile .me-profile-row{flex-wrap:wrap!important}
  .me-profile-info{flex-wrap:wrap!important}
  .top-tools{width:100%!important;justify-content:flex-end!important;flex-wrap:wrap!important}
}
@media(max-width:680px){
  .color-palette{min-width:108px!important;max-width:108px!important}
  .color-palette.open{max-width:100%!important;flex-wrap:wrap!important;height:auto!important;padding-top:8px!important;padding-bottom:8px!important}
  .composer-tools .tool-btn,.composer-tools .format-btn,.composer-tools .format-select,.composer-tools .color-palette{min-height:38px!important;height:38px!important}
}

/* v39 - amigos por sexo, status dropdown flutuante, avatar topo e validação visual */
.avatar-choice-label{color:#0f172a!important;text-shadow:none!important;font-weight:900!important}
.entry-card .avatar-choice-label,.app-modal .avatar-choice-label{color:#0f172a!important}

/* Amigo: cor do nome conforme avatar/sexo */
.role-amigo.gender-mulher .online-name,
.role-amigo.gender-mulher .me-profile-name,
.message.gender-mulher .name.role-amigo,
.messages .message.gender-mulher .name.role-amigo{color:#ff4fc3!important}
.role-amigo.gender-homem .online-name,
.role-amigo.gender-homem .me-profile-name,
.message.gender-homem .name.role-amigo,
.messages .message.gender-homem .name.role-amigo{color:#2563eb!important}
.role-amigo.gender-casal .online-name,
.role-amigo.gender-casal .me-profile-name,
.message.gender-casal .name.role-amigo,
.messages .message.gender-casal .name.role-amigo{color:#7e22ce!important}
.role-amigo.gender-nao_escolher .online-name,
.role-amigo.gender-nao_escolher .me-profile-name,
.message.gender-nao_escolher .name.role-amigo,
.messages .message.gender-nao_escolher .name.role-amigo{color:#7e22ce!important}

/* Avatar no topo antes do nome */
.chat-clean-header .top-profile .me-profile-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
.chat-clean-header .me-avatar-static{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;flex:0 0 46px!important;opacity:1!important;visibility:visible!important}
.chat-clean-header .me-avatar-static .avatar-mini{display:inline-block!important;width:42px!important;height:42px!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;opacity:1!important;visibility:visible!important}
.chat-clean-header .me-profile-info{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
.chat-clean-header .me-profile-name{font-size:18px!important;line-height:1.1!important}

/* Status: somente selecionado; opções descem por cima do chat sem empurrar o topo */
.presence-inline{position:relative!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;min-width:138px!important;height:36px!important;overflow:visible!important;z-index:1200!important}
.presence-inline .presence-chip{display:none!important;position:relative!important;min-width:138px!important;height:34px!important;min-height:34px!important;padding:0 12px!important;justify-content:flex-start!important;align-items:center!important;font-size:13px!important;line-height:1!important}
.presence-inline .presence-chip.active{display:inline-flex!important;position:relative!important;left:auto!important;top:auto!important;z-index:3!important;order:0!important;background:#ffffff!important;color:#0f3f73!important;border-color:#ffffff!important}
.presence-inline .presence-chip.active::after{content:'▾';margin-left:auto;font-size:11px;color:#0f3f73!important;line-height:1!important}
.presence-inline.open .presence-chip:not(.active){display:inline-flex!important;position:absolute!important;left:0!important;top:var(--presence-offset,42px)!important;z-index:1300!important;background:#ffffff!important;color:#0f3f73!important;border:1px solid #bfdbfe!important;box-shadow:0 8px 22px rgba(15,63,115,.18)!important}
.presence-inline.open .presence-chip:not(.active):hover{background:#eff6ff!important}
.presence-inline.open .presence-chip.active::after{content:'▴'}
.presence-inline.open::after{content:none!important;display:none!important}

/* Balão de erro do nome de usuário */
.nickname-field-wrap{position:relative!important;display:block!important;width:100%!important}
.nickname-field-wrap > input{width:100%!important}
.nickname-field-error{display:none!important;position:absolute!important;left:10px!important;bottom:calc(100% + 8px)!important;z-index:6000!important;background:#ffffff!important;color:#b91c1c!important;border:1px solid #fecaca!important;border-radius:12px!important;padding:8px 10px!important;font-size:12px!important;font-weight:900!important;line-height:1.25!important;box-shadow:0 12px 30px rgba(15,23,42,.18)!important;max-width:min(330px,90vw)!important;text-align:left!important}
.nickname-field-error::after{content:'';position:absolute;left:18px;top:100%;border:7px solid transparent;border-top-color:#fecaca}
.nickname-field-wrap.show-error .nickname-field-error{display:block!important}
.nickname-field-wrap.show-error > input{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.16)!important}

@media(max-width:680px){
  .chat-clean-header .me-profile-info{flex-wrap:wrap!important}
  .presence-inline{min-width:132px!important}
  .presence-inline .presence-chip{min-width:132px!important}
}


/* v40 - tooltip sobreposto, cor externa, sem ícones extras */
/* Remover ícones pequenos à direita dos avatares */
.avatar-mini:after{content:none!important;display:none!important}

/* Garantir avatar visível antes do nome no topo */
.chat-clean-header .top-profile{display:flex!important;align-items:center!important}
.chat-clean-header .top-profile .me-profile-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
.chat-clean-header .top-profile .me-avatar-static{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;margin-right:2px!important;opacity:1!important;visibility:visible!important}
.chat-clean-header .top-profile .me-avatar-static .avatar-mini{width:42px!important;height:42px!important;display:inline-block!important;opacity:1!important;visibility:visible!important}
.chat-clean-header .top-profile .me-profile-info{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:6px!important}

/* Tooltip acima dos demais usuários */
.online-list li{position:relative!important;z-index:1!important}
.online-list li:hover,.online-list li:focus-within{z-index:9000!important}
.online-list .avatar-info-wrap,.online-list .avatar-mod-btn{position:relative!important;z-index:9001!important}
.online-list .avatar-info-wrap[data-user-tooltip]:hover:after,
.online-list .avatar-info-wrap[data-user-tooltip]:focus:after,
.online-list .avatar-mod-btn[data-user-tooltip]:hover:after,
.online-list .avatar-mod-btn[data-user-tooltip]:focus:after{z-index:9500!important;left:8px!important;top:calc(100% + 8px)!important;transform:none!important}

/* Cor selecionada fora do quadro branco */
.composer-tools .color-palette{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-width:auto!important;width:auto!important;max-width:none!important;overflow:visible!important;gap:8px!important}
.composer-tools .color-palette-label{font-size:15px!important;font-weight:900!important;color:#0f172a!important;line-height:1!important}
.composer-tools .color-palette-label::after{content:':'!important;margin-left:1px!important}
.composer-tools .color-palette .color-swatch{box-shadow:0 0 0 1px rgba(148,163,184,.7),0 3px 8px rgba(15,23,42,.15)!important}
.composer-tools .color-palette:not(.open) .color-swatch.active{display:inline-flex!important}
.composer-tools .color-palette:not(.open) .color-swatch:not(.active){display:none!important}
.composer-tools .color-palette.open{display:inline-flex!important;align-items:center!important;flex-wrap:wrap!important;background:#ffffff!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:7px 10px!important;box-shadow:0 10px 26px rgba(15,23,42,.16)!important;max-width:360px!important}

/* Textos dos avatares no cadastro visíveis */
.avatar-choice-label{color:#5b6b80!important;font-weight:800!important;text-shadow:none!important}
.avatar-choice.selected .avatar-choice-label,.avatar-choice:hover .avatar-choice-label,.avatar-choice:has(input:checked) .avatar-choice-label{color:#0f3f73!important}

/* Status dropdown por cima do chat */
.presence-inline{position:relative!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;height:34px!important;min-width:142px!important;overflow:visible!important;z-index:4000!important}
.presence-inline .presence-chip{display:none!important;position:relative!important;min-width:142px!important;height:34px!important;line-height:1!important;padding:0 12px!important;font-size:13px!important;justify-content:flex-start!important}
.presence-inline .presence-chip.active{display:inline-flex!important;position:relative!important;z-index:4002!important;background:#fff!important;color:#0f3f73!important;border:1px solid #bfdbfe!important;box-shadow:0 6px 18px rgba(15,63,115,.12)!important}
.presence-inline .presence-chip.active::after{content:'▾'!important;margin-left:auto!important;font-size:11px!important;line-height:1!important;color:#0f3f73!important}
.presence-inline.open .presence-chip:not(.active){display:inline-flex!important;position:absolute!important;left:0!important;top:var(--presence-offset,42px)!important;z-index:4001!important;background:#fff!important;color:#0f3f73!important;border:1px solid #bfdbfe!important;box-shadow:0 8px 22px rgba(15,63,115,.18)!important}
.presence-inline.open .presence-chip.active::after{content:'▴'!important}
.presence-inline.open .presence-chip:not(.active):hover{background:#eff6ff!important}

/* Cores do amigo por sexo/avatar */
.role-amigo.gender-mulher .online-name,
.me-box.role-amigo.gender-mulher .me-profile-name,
.messages .message.gender-mulher .name.role-amigo,
.name.role-amigo.gender-mulher{color:#ff4fc3!important}
.role-amigo.gender-homem .online-name,
.me-box.role-amigo.gender-homem .me-profile-name,
.messages .message.gender-homem .name.role-amigo,
.name.role-amigo.gender-homem{color:#1d7ee8!important}
.role-amigo.gender-casal .online-name,
.me-box.role-amigo.gender-casal .me-profile-name,
.messages .message.gender-casal .name.role-amigo,
.name.role-amigo.gender-casal{color:#7e22ce!important}
.role-amigo.gender-nao_escolher .online-name,
.me-box.role-amigo.gender-nao_escolher .me-profile-name,
.messages .message.gender-nao_escolher .name.role-amigo,
.name.role-amigo.gender-nao_escolher{color:#7e22ce!important}


/* v41 - paleta em uma linha e som padrão desligado */
.composer-tools .color-palette.open{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.composer-tools .color-palette.open .color-swatch{
  flex:0 0 auto!important;
}
.sound-icon-btn{
  font-size:20px!important;
  line-height:1!important;
}
.sound-icon-btn:not(.active){
  color:#0f3f73!important;
  background:#ffffff!important;
  border-color:#93c5fd!important;
}


/* v42 - tamanho padrão e tooltip único ao clicar */
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:hover:after,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:focus:after,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:hover:before,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:focus:before{
    content:none!important;
    display:none!important;
}
#text-size option[value="16"]::after{content:""}
#text-size{min-width:170px!important}


/* v43 - painel admin modal e select de fonte simples */
.top-admin{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 14px!important;
    border-radius:11px!important;
    font-size:14px!important;
    font-weight:900!important;
    text-decoration:none!important;
    color:#ffffff!important;
    background:#0f3f73!important;
    border:1px solid rgba(255,255,255,.55)!important;
    box-shadow:0 2px 9px rgba(15,63,115,.18)!important;
}
.top-admin:hover{background:#0b2f56!important;color:#ffffff!important}
.app-modal.admin-modal-open .app-modal-panel{
    width:min(1320px,96vw)!important;
    height:min(860px,92vh)!important;
    max-height:92vh!important;
    padding:16px!important;
}
.admin-iframe-wrap{
    width:100%!important;
    height:calc(min(860px,92vh) - 32px)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid #75b7e9!important;
    background:#e8f4ff!important;
}
.admin-iframe-wrap iframe{
    width:100%!important;
    height:100%!important;
    border:0!important;
    display:block!important;
    background:#e8f4ff!important;
}
.format-select option{font-weight:700!important}


/* v44 - topo alinhado e usuários recolhíveis */
.chat-clean-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}
.top-profile.me-box{display:flex!important;align-items:flex-start!important;flex:1 1 280px!important;min-width:260px!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}
.top-profile .me-profile-row{display:flex!important;align-items:flex-start!important;gap:10px!important;flex-wrap:nowrap!important;width:100%!important}
.chat-clean-header .top-profile .me-avatar-static{margin-top:2px!important}
.chat-clean-header .top-profile .me-profile-info{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:8px!important;min-width:0!important}
.chat-clean-header .me-profile-name{font-size:19px!important;line-height:1.1!important;margin:0!important}
.top-tools{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:0 1 auto!important;flex-wrap:wrap!important;margin-left:auto!important}
.top-tools > *{flex:0 0 auto!important}
@media (max-width: 1180px){
  .top-tools{gap:8px!important}
  .chat-clean-header .top-profile .me-avatar-static{width:42px!important;height:42px!important;flex-basis:42px!important}
  .chat-clean-header .top-profile .me-avatar-static .avatar-mini{width:38px!important;height:38px!important}
  .chat-clean-header .me-profile-name{font-size:18px!important}
}
@media (max-width: 980px){
  .chat-clean-header{align-items:flex-start!important}
  .top-profile.me-box{width:auto!important;flex:1 1 100%!important}
  .top-tools{width:100%!important;justify-content:flex-start!important}
}

.online-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.online-title-actions{display:flex!important;align-items:center!important;gap:8px!important}
.close-users-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid #93c5fd;background:#ffffff;color:#0f3f73;font-size:20px;font-weight:900;line-height:1;cursor:pointer}
.close-users-btn:hover{background:#eff6ff}
@media (max-width:980px){
  .close-users-btn{display:inline-flex!important}
  .sidebar{right:-320px!important;transition:right .2s ease!important}
  .sidebar.open{right:0!important}
}


/* v45 - entrada clara e moderador verde */
.name.role-moderador,
.role-moderador .online-name,
.me-box.role-moderador strong,
.me-box.role-moderador .me-profile-name,
.sidebar .role-moderador .online-name,
.sidebar .me-box.role-moderador strong,
.messages .name.role-moderador,
.message .name.role-moderador,
.admin-body .role-moderador .online-name,
.admin-body .name.role-moderador{color:#32b509!important}
.legend-moderador{background:#32b509!important;color:#32b509!important}

/* Páginas de entrada/login/cadastro no padrão claro */
.entry-page{background:linear-gradient(180deg,#e8f4ff 0%,#d5ebff 100%)!important;color:#0f172a!important;padding:20px!important}
.entry-card{width:min(560px,100%)!important;background:linear-gradient(180deg,#e8f4ff 0%,#cfe8ff 100%)!important;border:1px solid #75b7e9!important;border-radius:24px!important;box-shadow:0 22px 70px rgba(15,63,115,.20)!important;color:#0f172a!important;padding:28px 22px!important;text-align:center!important}
.entry-card h1{color:#0f3f73!important;text-shadow:none!important;font-size:30px!important;margin:16px 0 8px!important}
.entry-card p{color:#315f89!important;font-size:15px!important;margin-bottom:18px!important}
.entry-card small{color:#315f89!important;font-weight:700!important;font-size:13px!important}
.entry-card .brand-badge{background:rgba(37,99,235,.10)!important;color:#0f3f73!important;border:1px solid #93c5fd!important;padding:7px 13px!important}
.entry-form input,.entry-form select{background:#ffffff!important;color:#0f172a!important;border:1px solid #9bc7ef!important;border-radius:12px!important;box-shadow:none!important}
.entry-form input::placeholder{color:#64748b!important}
.entry-card .avatar-picker{gap:10px!important;margin:2px 0 2px!important}
.entry-card .avatar-choice{background:rgba(255,255,255,.20)!important;border:1px solid #0f3f73!important;border-radius:15px!important;color:#0f172a!important;min-height:120px!important}
.entry-card .avatar-choice.selected,.entry-card .avatar-choice:has(input:checked){background:rgba(147,197,253,.22)!important;border-color:#60a5fa!important;box-shadow:0 0 0 2px rgba(96,165,250,.22)!important}
.entry-card .avatar-choice-label{color:#0f172a!important;font-weight:900!important;text-shadow:none!important;font-size:12px!important}
.entry-card .avatar-choice-icon{width:62px!important;height:62px!important}
.entry-card .entry-form button[type="submit"],.entry-card .visitor-btn{background:#2563eb!important;color:#ffffff!important;border:1px solid #1d4ed8!important;border-radius:12px!important;text-shadow:none!important;box-shadow:none!important}
.entry-card .entry-form button[type="submit"]:hover,.entry-card .visitor-btn:hover{background:#1d4ed8!important;color:#ffffff!important}
.entry-links{gap:10px!important}
.entry-links a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 18px!important;border-radius:12px!important;font-weight:900!important;text-decoration:none!important;color:#ffffff!important;border:1px solid #7aa9d5!important;background:#24405f!important;min-width:210px!important}
.entry-links a:hover{text-decoration:none!important;filter:brightness(.98)!important}
.entry-links .entry-login-btn,.entry-links a[href="login.php"]{background:#22c55e!important;border-color:#16a34a!important;color:#ffffff!important}
.entry-links a[href="register.php"],.entry-links a[href="index.php"]{background:#dbeafe!important;color:#0f3f73!important;border-color:#93c5fd!important}
.alert{background:#fee2e2!important;border:1px solid #fecaca!important;color:#991b1b!important}
@media(max-width:520px){.entry-card{padding:24px 14px!important}.entry-card .avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}.entry-links a{width:100%!important}}

/* v46 - status pelo próprio avatar e mensagens privadas */
.online-name-click{cursor:pointer!important}
.online-name-click:hover{text-decoration:underline!important}
.self-status-actions{display:grid;gap:8px;margin:8px 0 4px}
.self-status-actions[hidden]{display:none!important}
.self-status-actions button{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;background:#e8f4ff!important;color:#0f172a!important;border:1px solid #b8d6f0!important;border-radius:12px!important;padding:10px 12px!important;font-weight:900!important}
.self-status-actions button:hover{background:#dbeafe!important}.status-dot{width:12px;height:12px;border-radius:999px;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 2px 5px rgba(15,23,42,.25)}.status-dot-online{background:#22c55e}.status-dot-ausente{background:#f59e0b}.status-dot-ocupado{background:#ef4444}
.moderation-menu [data-mod-kind="private"]{background:#eff6ff!important;color:#0f3f73!important;border:1px solid #bfdbfe!important}
.moderation-menu [data-mod-kind="private"]:hover{background:#dbeafe!important}
.modal-private-card textarea{width:100%;min-height:130px;resize:vertical;border:1px solid #9bc7ef;border-radius:16px;background:#fff;color:#0f172a;padding:14px 16px;font-size:16px;font-family:inherit;line-height:1.35;box-sizing:border-box}.modal-private-card textarea::placeholder{color:#64748b}.private-target-label{font-weight:800!important;color:#0f3f73!important}
.private-message{background:#fff7ed!important;border:1px solid #fb923c!important;border-left:5px solid #f97316!important;border-radius:12px!important;padding:8px 10px!important;max-width:min(900px,96%)!important}.private-message .private-badge{display:inline-flex;align-items:center;gap:4px;margin:0 8px 0 0;padding:3px 8px;border-radius:999px;background:#fed7aa;color:#9a3412;font-size:12px;font-weight:900;vertical-align:middle}.private-message .private-badge:before{content:'🔒';font-size:12px}.private-message .private-reply-btn{display:inline-flex;margin-left:8px;margin-top:4px;border:1px solid #fdba74;background:#fff;color:#9a3412;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;cursor:pointer}.private-message .private-reply-btn:hover{background:#ffedd5}.messages .private-message .msg-inline-body{color:#111827!important}.private-message .msg-inline-name{margin-right:4px}


/* v47 - ações por cargo, responder uma vez e tooltip sem duplicar */
.moderation-menu button[hidden],
.moderation-menu [hidden]{display:none!important}
body.moderation-menu-open .avatar-info-wrap[data-user-tooltip]:hover:after,
body.moderation-menu-open .avatar-info-wrap[data-user-tooltip]:focus:after,
body.moderation-menu-open .avatar-info-wrap[data-user-tooltip]:hover:before,
body.moderation-menu-open .avatar-info-wrap[data-user-tooltip]:focus:before,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:hover:after,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:focus:after,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:hover:before,
body.moderation-menu-open .avatar-mod-btn[data-user-tooltip]:focus:before{content:none!important;display:none!important}
.private-reply-btn[hidden]{display:none!important}


/* v48 - topo sem perfil, rolagem automática e PM */
.chat-clean-header .top-profile.me-box{display:none!important}
.chat-clean-header{justify-content:flex-end!important;align-items:center!important}
.chat-clean-header .top-tools{margin-left:auto!important;justify-content:flex-end!important;width:auto!important}
.messages{scroll-behavior:smooth!important}

.private-message{
    background:#fff7ed!important;
    border:1px solid #fb923c!important;
    border-left:6px solid #f97316!important;
    border-radius:14px!important;
    box-shadow:0 6px 20px rgba(249,115,22,.12)!important;
}
.private-message .private-badge{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    background:#fed7aa!important;
    color:#9a3412!important;
    border-radius:999px!important;
    padding:5px 10px!important;
    font-size:13px!important;
    font-weight:900!important;
    margin:0 10px!important;
}
.private-message .private-reply-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:10px!important;
    border-radius:999px!important;
    border:1px solid #fb923c!important;
    background:#ffffff!important;
    color:#9a3412!important;
    font-size:13px!important;
    font-weight:900!important;
    padding:6px 12px!important;
    cursor:pointer!important;
}
.private-message .private-reply-btn:hover{background:#ffedd5!important;color:#7c2d12!important}

.self-status-actions{
    display:grid!important;
    gap:7px!important;
}
.self-status-actions[hidden]{display:none!important}
.self-pm-toggle{
    border-top:1px solid #bfdbfe!important;
    margin-top:4px!important;
    padding-top:10px!important;
}
.moderation-menu button[hidden]{display:none!important}

@media(max-width:980px){
    .chat-clean-header .top-tools{width:100%!important;justify-content:flex-start!important}
}


/* v49 - scroll fixo, destaque do próprio usuário e nomes normais sem negrito */
html,body{
    height:100%!important;
    overflow:hidden!important;
}
.chat-shell{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
}
.chat-main{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
}
.chat-header,
.composer-wrap{
    flex:0 0 auto!important;
}
.messages{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
}
.composer-wrap{
    position:relative!important;
    z-index:20!important;
}

/* Usuário atual destacado na lista lateral */
.online-list .online-user.is-me{
    background:#d9ecff!important;
    border:1px solid #93c5fd!important;
    border-left:5px solid #2563eb!important;
    border-radius:12px!important;
    padding:8px 8px!important;
    margin:4px 0!important;
    box-shadow:0 4px 14px rgba(37,99,235,.12)!important;
}
.online-list .online-user.is-me .online-name::after{
    content:' você';
    font-size:11px!important;
    font-weight:700!important;
    color:#2563eb!important;
    margin-left:6px!important;
}

/* Usuários normais ficam sem negrito */
.name.role-normal,
.messages .name.role-normal,
.message .name.role-normal,
.role-normal .online-name,
.sidebar .role-normal .online-name,
.online-list .role-normal .online-name{
    font-weight:400!important;
}
.message .name.role-normal,
.messages .message .name.role-normal{
    font-weight:400!important;
}


/* v50 - ajustes finais: sem "você", cores novas, amigo azul, cadastrados bold */
.online-list .online-user.is-me .online-name::after{content:none!important;display:none!important}
.online-list .online-user.is-me{background:rgba(37,99,235,.08)!important;border-radius:12px!important}

.online-name{font-weight:400!important}
.online-user.is-registered .online-name{font-weight:800!important}
.message .msg-inline-name{font-weight:400!important}
.message.is-registered .msg-inline-name{font-weight:800!important}

/* Moderador mantém verde solicitado */
.role-moderador .online-name,
.name.role-moderador,
.me-box.role-moderador strong,
.me-box.role-moderador .me-profile-name{color:#32b509!important}

/* Todos os amigos em azul */
.role-amigo .online-name,
.name.role-amigo,
.me-box.role-amigo strong,
.me-box.role-amigo .me-profile-name,
.messages .name.role-amigo{color:#1d7ee8!important}

/* Swatches novos */
.color-swatch-rainbow,
.color-swatch[data-color="rainbow"]{
    background:linear-gradient(135deg,#ff0000 0%,#ff8200 18%,#22c55e 36%,#12d7df 54%,#1d7ee8 70%,#5517f5 84%,#f60b8a 100%)!important;
}
.rainbow-text{
    background:linear-gradient(90deg,#ff0000,#ff8200,#22c55e,#12d7df,#1d7ee8,#5517f5,#f60b8a);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent!important;
    font-weight:900;
}


/* v51 - nova instalação completa + rolagem do painel admin modal */
.admin-html,
.admin-html body,
body.admin-body{
    height:auto!important;
    min-height:100%!important;
    overflow:auto!important;
}

.app-modal.admin-modal-open{
    align-items:stretch!important;
    justify-items:center!important;
    padding:10px!important;
    overflow:hidden!important;
}

.app-modal.admin-modal-open .app-modal-panel{
    width:min(1360px,98vw)!important;
    height:calc(100dvh - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    overflow:hidden!important;
    padding:12px!important;
    display:flex!important;
    flex-direction:column!important;
}

.app-modal.admin-modal-open .app-modal-close{
    position:absolute!important;
    right:10px!important;
    top:8px!important;
    z-index:20!important;
}

.app-modal.admin-modal-open #app-modal-content,
.app-modal.admin-modal-open .modal-card,
.app-modal.admin-modal-open .admin-iframe-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
}

.admin-iframe-wrap{
    overflow:hidden!important;
}

.admin-iframe-wrap iframe{
    height:100%!important;
    min-height:0!important;
}

/* dentro do iframe admin, permitir rolagem normal */
.admin-html .admin-body{
    overflow:auto!important;
}

/* reforço: chat principal com comandos fixos e mensagens roláveis */
body:not(.admin-body) .chat-shell{
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
}
body:not(.admin-body) .chat-main{
    min-height:0!important;
    overflow:hidden!important;
}
body:not(.admin-body) .messages{
    min-height:0!important;
    overflow-y:auto!important;
}
body:not(.admin-body) .composer-wrap{
    flex:0 0 auto!important;
}


/* v52 - VIP, admin modal rolável e avatares especiais */
.app-modal.admin-modal-open{
    display:block!important;
    overflow:auto!important;
    padding:14px!important;
}
.app-modal.admin-modal-open .app-modal-panel{
    width:min(1380px,96vw)!important;
    height:min(900px,92vh)!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:16px!important;
    display:flex!important;
    flex-direction:column!important;
}
.app-modal.admin-modal-open #app-modal-content,
.app-modal.admin-modal-open .modal-admin-card,
.app-modal.admin-modal-open .admin-iframe-wrap{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    flex:1 1 auto!important;
}
.app-modal.admin-modal-open .admin-iframe-wrap{
    overflow:auto!important;
    border-radius:18px!important;
}
.app-modal.admin-modal-open .admin-iframe-wrap iframe{
    width:100%!important;
    height:100%!important;
    min-height:760px!important;
    overflow:auto!important;
}

/* Cor do moderador e VIP */
.name.role-moderador,
.role-moderador .online-name,
.me-box.role-moderador strong,
.sidebar .role-moderador .online-name,
.messages .name.role-moderador{
    color:#32b509!important;
}
.name.role-amigo,
.role-amigo .online-name,
.me-box.role-amigo strong,
.sidebar .role-amigo .online-name,
.messages .name.role-amigo,
.role-amigo.gender-mulher .online-name,
.role-amigo.gender-homem .online-name,
.role-amigo.gender-casal .online-name,
.role-amigo.gender-nao_escolher .online-name{
    color:#1d7ee8!important;
}
.avatar-mini.role-amigo:after{content:none!important;display:none!important}

/* Upload de avatares especiais no admin */
.avatar-upload-form{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:12px;
    align-items:center;
}
.avatar-upload-form input[type="file"]{
    background:#eaf4ff!important;
    color:#0f172a!important;
    border:1px solid #9bc7ef!important;
    border-radius:14px!important;
    padding:12px!important;
}
.special-avatar-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
    gap:12px;
    margin-top:16px;
}
.special-avatar-grid figure{
    margin:0;
    padding:10px;
    border:1px solid rgba(147,197,253,.45);
    border-radius:16px;
    background:rgba(255,255,255,.08);
    text-align:center;
}
.special-avatar-grid img{
    max-width:76px;
    max-height:76px;
    object-fit:contain;
    display:block;
    margin:0 auto 8px;
}
.special-avatar-grid figcaption{
    font-size:11px;
    color:#cbd5e1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media(max-width:800px){
    .avatar-upload-form{grid-template-columns:1fr}
    .app-modal.admin-modal-open .app-modal-panel{width:96vw!important;height:92vh!important}
}


/* v53 - variantes de avatar por clique */
.avatar-mini.gender-mulher2{background-image:url('avatars/mulher2.webp')!important}
.avatar-mini.gender-homem2{background-image:url('avatars/homem2.webp')!important}
.avatar-mini.gender-casal2{background-image:url('avatars/casal2.webp')!important}
.avatar-image.avatar-mulher2{background-image:url('avatars/mulher2.webp')!important}
.avatar-image.avatar-homem2{background-image:url('avatars/homem2.webp')!important}
.avatar-image.avatar-casal2{background-image:url('avatars/casal2.webp')!important}

.avatar-picker-variants{position:relative!important;overflow:visible!important}
.avatar-variant-choice{position:relative!important;display:flex!important;min-width:0!important;z-index:1!important}
.avatar-variant-choice.selected{z-index:2!important}
.avatar-variant-choice .avatar-main-choice{width:100%!important;appearance:none!important;border:1px solid var(--line);font-family:inherit!important}
.avatar-variant-choice.selected .avatar-main-choice{border-color:#60a5fa!important;background:rgba(59,130,246,.12)!important;box-shadow:0 0 0 2px rgba(96,165,250,.18)!important}
.avatar-variant-menu{position:absolute!important;left:50%!important;top:calc(100% + 8px)!important;transform:translateX(-50%)!important;z-index:8000!important;display:grid!important;grid-template-columns:repeat(2,minmax(74px,1fr))!important;gap:8px!important;background:#ffffff!important;border:1px solid #93c5fd!important;border-radius:16px!important;padding:9px!important;box-shadow:0 18px 44px rgba(15,63,115,.28)!important;min-width:188px!important}
.avatar-variant-menu[hidden]{display:none!important}
.avatar-variant-menu::before{content:'';position:absolute;left:50%;top:-7px;width:14px;height:14px;background:#ffffff;border-left:1px solid #93c5fd;border-top:1px solid #93c5fd;transform:translateX(-50%) rotate(45deg);border-radius:3px}
.avatar-variant-option{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:7px 6px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;background:#eff6ff!important;cursor:pointer!important;color:#0f172a!important;font-size:11px!important;font-weight:900!important;line-height:1.1!important;text-align:center!important;min-height:86px!important}
.avatar-variant-option:hover{background:#dbeafe!important;border-color:#60a5fa!important}
.avatar-variant-option.selected{background:#dbeafe!important;border-color:#2563eb!important;box-shadow:0 0 0 2px rgba(37,99,235,.16)!important}
.avatar-variant-option input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.avatar-variant-option .avatar-choice-icon{width:48px!important;height:48px!important}
.avatar-single-choice{width:100%!important}
.avatar-choice.avatar-main-choice{cursor:pointer!important}
.avatar-choice.avatar-main-choice:after{content:'▾';position:absolute;right:8px;top:7px;font-size:11px;color:#0f3f73;background:#dbeafe;border:1px solid #93c5fd;border-radius:999px;width:18px;height:18px;display:grid;place-items:center;line-height:1}
.avatar-variant-choice:has(.avatar-variant-menu:not([hidden])) .avatar-main-choice:after{content:'▴'}
@media(max-width:680px){.avatar-variant-menu{min-width:170px!important;grid-template-columns:repeat(2,1fr)!important}.avatar-variant-option .avatar-choice-icon{width:44px!important;height:44px!important}}

/* Mesma cor de status para variantes equivalentes */
.role-amigo.gender-mulher2 .online-name,
.me-box.role-amigo.gender-mulher2 .me-profile-name,
.messages .message.gender-mulher2 .name.role-amigo,
.name.role-amigo.gender-mulher2{color:#2563eb!important}
.role-amigo.gender-homem2 .online-name,
.me-box.role-amigo.gender-homem2 .me-profile-name,
.messages .message.gender-homem2 .name.role-amigo,
.name.role-amigo.gender-homem2{color:#2563eb!important}
.role-amigo.gender-casal2 .online-name,
.me-box.role-amigo.gender-casal2 .me-profile-name,
.messages .message.gender-casal2 .name.role-amigo,
.name.role-amigo.gender-casal2{color:#2563eb!important}


/* v54 - avatar picker nas telas de entrada/cadastro e rainbow inativo */
.avatar-variant-choice{pointer-events:auto!important}
.avatar-choice.avatar-main-choice{pointer-events:auto!important;position:relative!important;z-index:2!important}
.avatar-variant-menu{pointer-events:auto!important}
.color-swatch-rainbow.disabled,
.color-swatch-rainbow:disabled,
.color-swatch[data-color="rainbow"].disabled,
.color-swatch[data-color="rainbow"]:disabled{
    opacity:.45!important;
    cursor:not-allowed!important;
    filter:grayscale(.35)!important;
    position:relative!important;
}
.color-swatch-rainbow.disabled::before,
.color-swatch-rainbow:disabled::before,
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"]:disabled::before{
    content:'🔒'!important;
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:13px!important;
    color:#0f172a!important;
    text-shadow:0 1px 2px rgba(255,255,255,.8)!important;
    pointer-events:none!important;
}
.composer-tools .color-palette.open .color-swatch-rainbow{order:99!important}


/* v55 - VIP visual, texto colorido antes de enviar, admin atualizado */
.color-swatch-rainbow.disabled::before,
.color-swatch-rainbow:disabled::before,
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"]:disabled::before{
    content:'VIP'!important;
    font-size:9px!important;
    font-weight:950!important;
    letter-spacing:.2px!important;
    color:#ffffff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.65)!important;
}
.composer input.rainbow-typing{
    background-image:linear-gradient(90deg,#ff0000,#ff8200,#22c55e,#12d7df,#1d7ee8,#5517f5,#f60b8a)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    color:transparent!important;
    caret-color:#111827!important;
    font-weight:900!important;
}
.admin-actions-cell{white-space:nowrap!important}
.delete-user-cell form{margin:0!important}
.admin-card .danger-btn{background:#ef4444!important;color:#fff!important;border-color:#dc2626!important}
.special-avatar-card .admin-help{margin-top:8px!important}


/* v56 - correções PM/rainbow/sexo */
.composer input.rainbow-typing{
    background-color:#ffffff!important;
    background-image:linear-gradient(90deg,#ff0000,#ff8200,#22c55e,#12d7df,#1d7ee8,#5517f5,#f60b8a),linear-gradient(#ffffff,#ffffff)!important;
    background-clip:text,padding-box!important;
    -webkit-background-clip:text,padding-box!important;
    -webkit-text-fill-color:transparent!important;
    color:transparent!important;
    caret-color:#111827!important;
}
.composer input.rainbow-typing::placeholder{
    background:linear-gradient(90deg,#ff0000,#ff8200,#22c55e,#12d7df,#1d7ee8,#5517f5,#f60b8a)!important;
    background-clip:text!important;
    -webkit-background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    color:transparent!important;
    opacity:1!important;
}
.color-swatch-rainbow.disabled::before,
.color-swatch-rainbow:disabled::before,
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"]:disabled::before{
    content:'VIP'!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    inset:0!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.45)!important;
}


/* v57 - correções finais PM/sexo/rainbow */
.composer input.rainbow-typing,
#message-input.rainbow-typing{
    background:#ffffff!important;
    background-color:#ffffff!important;
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
    caret-color:#111827!important;
}
.composer input.rainbow-typing::placeholder,
#message-input.rainbow-typing::placeholder{
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
    opacity:1!important;
}
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"]:disabled::before{
    content:'VIP'!important;
}


/* v58 - VIP crown, aviso de entrada e nomes com acento */
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"][aria-disabled="true"]::before{
    content:'👑'!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    inset:0!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.35)!important;
    font-size:15px!important;
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.72)!important;
    pointer-events:none!important;
}
.color-swatch[data-color="rainbow"].disabled,
.color-swatch[data-color="rainbow"][aria-disabled="true"]{
    cursor:pointer!important;
    opacity:.72!important;
    filter:grayscale(.12)!important;
}
.join-notice-wrap{
    position:fixed!important;
    right:16px!important;
    top:18px!important;
    z-index:9000!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    pointer-events:none!important;
}
.join-notice{
    transform:translateX(calc(100% + 30px));
    opacity:0;
    transition:transform .42s ease, opacity .42s ease!important;
    background:#ffffff!important;
    color:#0f3f73!important;
    border:1px solid #93c5fd!important;
    border-left:5px solid #22c55e!important;
    border-radius:16px!important;
    padding:12px 16px!important;
    box-shadow:0 16px 38px rgba(15,63,115,.25)!important;
    font-weight:900!important;
    min-width:220px!important;
}
.join-notice.show{
    transform:translateX(0);
    opacity:1;
}
.composer input.rainbow-typing,
#message-input.rainbow-typing{
    background-color:#ffffff!important;
    background-image:linear-gradient(90deg,#ff0000,#ff8200,#22c55e,#12d7df,#1d7ee8,#5517f5,#f60b8a)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    caret-color:#111827!important;
}


/* v59 - aviso VIP, entrada deslizante e correção da seleção de avatar */
.color-swatch[data-color="rainbow"].disabled::before,
.color-swatch[data-color="rainbow"][aria-disabled="true"]::before{
    content:'👑 VIP'!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    inset:0!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.40)!important;
    color:#ffffff!important;
    font-size:8px!important;
    font-weight:950!important;
    letter-spacing:-.2px!important;
    line-height:1!important;
    text-shadow:0 1px 2px rgba(0,0,0,.75)!important;
    pointer-events:none!important;
}
.color-palette{position:relative!important}
.pro-color-notice{
    position:absolute!important;
    left:50%!important;
    bottom:calc(100% + 10px)!important;
    transform:translateX(-50%) translateY(4px)!important;
    background:#ffffff!important;
    color:#991b1b!important;
    border:1px solid #fca5a5!important;
    border-radius:12px!important;
    padding:9px 12px!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    box-shadow:0 14px 34px rgba(15,23,42,.20)!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:9000!important;
}
.pro-color-notice::after{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    top:100%!important;
    transform:translateX(-50%)!important;
    border:7px solid transparent!important;
    border-top-color:#fca5a5!important;
}
.pro-color-notice.show{
    opacity:1!important;
    transform:translateX(-50%) translateY(0)!important;
}

/* Entrada de usuário: entra da direita, pausa no centro e sai pela esquerda */
.join-notice-wrap{
    left:0!important;
    right:0!important;
    top:22%!important;
    align-items:center!important;
    pointer-events:none!important;
}
.join-notice{
    transform:translateX(120vw)!important;
    opacity:0!important;
    animation:none!important;
}
.join-notice.show{
    animation:joinSlidePauseOut 4.6s ease-in-out forwards!important;
}
@keyframes joinSlidePauseOut{
    0%{transform:translateX(120vw);opacity:0}
    16%{transform:translateX(0);opacity:1}
    74%{transform:translateX(0);opacity:1}
    100%{transform:translateX(-120vw);opacity:0}
}

/* Evita dois cartões verdes/selecionados no modal de cadastro */
.avatar-picker .avatar-variant-choice:not(.selected) .avatar-main-choice,
.avatar-picker .avatar-single-choice:not(.selected){
    background:rgba(255,255,255,.20)!important;
    border-color:#0f3f73!important;
    box-shadow:none!important;
}
.avatar-picker .avatar-variant-choice.selected .avatar-main-choice,
.avatar-picker .avatar-single-choice.selected{
    background:rgba(147,197,253,.24)!important;
    border-color:#60a5fa!important;
    box-shadow:0 0 0 2px rgba(96,165,250,.22)!important;
}


/* v60 - aviso de entrada central acima da barra do chat e login invisível admin */
.join-notice-wrap{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:150px!important;
    z-index:9000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    pointer-events:none!important;
    overflow:visible!important;
}
.join-notice{
    transform:translateX(120vw)!important;
    opacity:0!important;
    animation:none!important;
    background:#ffffff!important;
    color:#0f3f73!important;
    border:1px solid #93c5fd!important;
    border-left:5px solid #22c55e!important;
    border-radius:16px!important;
    padding:12px 18px!important;
    box-shadow:0 16px 38px rgba(15,63,115,.25)!important;
    font-weight:900!important;
    min-width:240px!important;
    text-align:center!important;
}
.join-notice.show{
    animation:joinSlideCenterOutV60 4.8s ease-in-out forwards!important;
}
@keyframes joinSlideCenterOutV60{
    0%{transform:translateX(120vw);opacity:0}
    18%{transform:translateX(0);opacity:1}
    72%{transform:translateX(0);opacity:1}
    100%{transform:translateX(-120vw);opacity:0}
}
.admin-invisible-option{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    justify-content:center!important;
    background:rgba(37,99,235,.08)!important;
    border:1px solid #93c5fd!important;
    color:#0f3f73!important;
    border-radius:14px!important;
    padding:10px 12px!important;
    font-weight:900!important;
}
.admin-invisible-option[hidden]{display:none!important}


/* v61 - aviso de entrada por trás da lateral, acima do botão Enviar */
.sidebar,.users-right{position:relative!important;z-index:60!important}
.join-notice-wrap{
    position:fixed!important;
    left:auto!important;
    top:auto!important;
    right:300px!important;
    bottom:96px!important;
    width:auto!important;
    max-width:min(420px,calc(100vw - 340px))!important;
    z-index:40!important;
    display:block!important;
    pointer-events:none!important;
    overflow:visible!important;
}
.join-notice{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateX(calc(100vw + 360px))!important;
    opacity:0!important;
    animation:none!important;
    background:#ffffff!important;
    color:#0f3f73!important;
    border:1px solid #93c5fd!important;
    border-left:5px solid #22c55e!important;
    border-radius:16px!important;
    padding:12px 18px!important;
    box-shadow:0 16px 38px rgba(15,63,115,.25)!important;
    font-weight:900!important;
    white-space:nowrap!important;
    min-width:220px!important;
    text-align:center!important;
}
.join-notice.show{
    animation:joinBehindSidebarV61 5.2s cubic-bezier(.22,.75,.18,1) forwards!important;
}
.join-notice.hide{opacity:0!important}
@keyframes joinBehindSidebarV61{
    0%{transform:translateX(calc(100vw + 360px));opacity:0}
    18%{transform:translateX(0);opacity:1}
    78%{transform:translateX(0);opacity:1}
    100%{transform:translateX(-42vw);opacity:0}
}
@media(max-width:980px){
    .join-notice-wrap{right:20px!important;bottom:96px!important;max-width:calc(100vw - 40px)!important;z-index:25!important}
    .sidebar.open{z-index:60!important}
    .join-notice{max-width:calc(100vw - 40px)!important;min-width:0!important;white-space:normal!important}
}


/* v62 - manter emojis visíveis quando a cor Colorida estiver ativa */
.composer input.rainbow-typing.rainbow-has-emoji,
#message-input.rainbow-typing.rainbow-has-emoji{
    background-color:#ffffff!important;
    background-image:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:#111827!important;
    -webkit-text-fill-color:#111827!important;
    caret-color:#111827!important;
}
.composer input.rainbow-typing.rainbow-has-emoji::placeholder,
#message-input.rainbow-typing.rainbow-has-emoji::placeholder{
    color:#64748b!important;
    -webkit-text-fill-color:#64748b!important;
    background:none!important;
}


/* v63 - aviso de entrada, menu usuários e emoji normal em texto colorido */
.rainbow-text .emoji-normal, .emoji-normal{
    background:none!important;
    background-image:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:initial!important;
    -webkit-text-fill-color:initial!important;
    text-shadow:none!important;
}
.join-notice-wrap{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:92px!important;
    top:auto!important;
    width:100vw!important;
    max-width:none!important;
    z-index:45!important;
    pointer-events:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
}
.join-notice{
    transform:translateX(120vw)!important;
    opacity:0!important;
    background:#ffffff!important;
    color:#0f3f73!important;
    border:1px solid #93c5fd!important;
    border-left:5px solid #22c55e!important;
    border-radius:16px!important;
    padding:12px 18px!important;
    box-shadow:0 16px 38px rgba(15,63,115,.25)!important;
    font-weight:900!important;
    white-space:nowrap!important;
    min-width:220px!important;
    text-align:center!important;
    animation:none!important;
}
.join-notice.show{animation:joinSlideRightCenterLeftV63 5s ease-in-out forwards!important}
@keyframes joinSlideRightCenterLeftV63{
    0%{transform:translateX(120vw);opacity:0}
    18%{transform:translateX(0);opacity:1}
    76%{transform:translateX(0);opacity:1}
    100%{transform:translateX(-120vw);opacity:0}
}
@media(max-width:980px){
    .legend-users-btn{display:inline-flex!important;position:relative!important;z-index:500!important;pointer-events:auto!important}
    .sidebar{position:fixed!important;right:-320px!important;left:auto!important;top:0!important;bottom:0!important;width:300px!important;z-index:600!important;transition:right .22s ease!important;box-shadow:0 20px 60px rgba(15,63,115,.28)!important}
    .sidebar.open{right:0!important}
    .join-notice-wrap{bottom:92px!important;z-index:45!important}
}


/* v64 - aviso de entrada confiável e emoji rainbow preservado */
.join-notice-wrap{
    position:fixed!important;
    left:0!important;
    right:280px!important;
    bottom:94px!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    pointer-events:none!important;
    overflow:visible!important;
    z-index:20!important;
    padding-right:18px!important;
}
.join-notice{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:220px!important;
    max-width:420px!important;
    white-space:nowrap!important;
    padding:10px 16px!important;
    border-radius:999px!important;
    background:rgba(15,27,47,.96)!important;
    border:1px solid #7db7ec!important;
    color:#ffffff!important;
    box-shadow:0 12px 30px rgba(15,23,42,.22)!important;
    opacity:0!important;
    transform:translateX(120%)!important;
}
.join-notice.show{animation:joinToastV64 4.8s ease-in-out forwards!important}
.join-notice.hide{opacity:0!important}
@keyframes joinToastV64{
    0%{opacity:0;transform:translateX(120%)}
    12%{opacity:1;transform:translateX(0)}
    30%,68%{opacity:1;transform:translateX(calc(-50vw + 50% + 90px))}
    100%{opacity:0;transform:translateX(-120vw)}
}
@media (max-width: 980px){
    .join-notice-wrap{right:0!important;bottom:92px!important;padding:0 12px!important;justify-content:center!important;z-index:30!important}
    .join-notice{max-width:calc(100vw - 24px)!important;white-space:normal!important;text-align:center!important}
    @keyframes joinToastV64{
        0%{opacity:0;transform:translateX(120%)}
        12%{opacity:1;transform:translateX(0)}
        30%,68%{opacity:1;transform:translateX(0)}
        100%{opacity:0;transform:translateX(-120%)}
    }
}
.rainbow-text{display:inline!important}
.rainbow-text .emoji-normal,.emoji-normal{color:inherit!important;-webkit-text-fill-color:initial!important}


/* v65 - feedback de entrada acima de Usuários Online e campo branco no modo Colorido */
#join-notice-inline.join-notice-inline{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    position:relative!important;
    z-index:5!important;
}
#join-notice-inline.join-notice-inline.has-notice{
    height:42px!important;
    min-height:42px!important;
    margin:0 0 8px 0!important;
}
#join-notice-inline .join-notice{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:36px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#0f3f73,#2563eb)!important;
    border:1px solid #7db7ec!important;
    color:#ffffff!important;
    box-shadow:0 8px 18px rgba(15,63,115,.20)!important;
    font-size:13px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    text-align:center!important;
    opacity:0!important;
    transform:translateX(110%)!important;
    animation:none!important;
}
#join-notice-inline .join-notice.show{
    animation:joinInlineV65 4.2s ease-in-out forwards!important;
}
#join-notice-inline .join-notice.hide{
    opacity:0!important;
}
@keyframes joinInlineV65{
    0%{opacity:0;transform:translateX(110%)}
    16%{opacity:1;transform:translateX(0)}
    68%{opacity:1;transform:translateX(0)}
    100%{opacity:0;transform:translateX(-110%)}
}
#message-input.rainbow-typing,
.composer input.rainbow-typing,
#message-input.rainbow-typing.rainbow-has-emoji,
.composer input.rainbow-typing.rainbow-has-emoji{
    background:#ffffff!important;
    background-color:#ffffff!important;
    background-image:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
    caret-color:#111827!important;
}
#message-input.rainbow-typing::placeholder,
.composer input.rainbow-typing::placeholder,
#message-input.rainbow-typing.rainbow-has-emoji::placeholder,
.composer input.rainbow-typing.rainbow-has-emoji::placeholder{
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
    opacity:1!important;
    background:none!important;
    background-image:none!important;
}


/* v66 - feedback de entrada removido */
.join-notice-wrap,.join-notice{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}


/* v70 - emoticons em imagem no lugar dos emojis */
.emoji-panel{
    grid-template-columns:repeat(auto-fill,minmax(44px,1fr))!important;
    gap:8px!important;
    max-width:min(680px,calc(100vw - 330px))!important;
    max-height:320px!important;
    overflow:auto!important;
}
.emoji-panel .emoticon-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:3px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#ffffff!important;
    border:1px solid #dbe7f3!important;
    border-radius:12px!important;
}
.emoji-panel .emoticon-btn:hover{background:#e8f4ff!important;transform:translateY(-1px)}
.emoji-panel .emoticon-btn img{
    max-width:34px!important;
    max-height:34px!important;
    width:auto!important;
    height:auto!important;
    display:block!important;
    object-fit:contain!important;
}
.chat-emoticon{
    width:28px!important;
    height:28px!important;
    object-fit:contain!important;
    vertical-align:middle!important;
    display:inline-block!important;
    margin:0 2px!important;
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:initial!important;
    -webkit-text-fill-color:initial!important;
}
.rainbow-text .chat-emoticon{color:initial!important;-webkit-text-fill-color:initial!important;background:none!important}
@media(max-width:980px){.emoji-panel{max-width:calc(100vw - 28px)!important;grid-template-columns:repeat(auto-fill,minmax(42px,1fr))!important}.emoji-panel .emoticon-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}}


/* v71 - prévia visual dos emoticons no campo de digitação */
.message-input-shell{
    position:relative!important;
    flex:1 1 auto!important;
    min-width:0!important;
    display:block!important;
}
.message-input-shell #message-input{
    width:100%!important;
    position:relative!important;
    z-index:2!important;
    background:transparent!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    caret-color:#111827!important;
    font-weight:inherit;
}
.message-input-shell #message-input::placeholder{
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
}
.message-input-preview{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    padding:14px 16px!important;
    border:1px solid #cbd5e1!important;
    border-radius:15px!important;
    background:#ffffff!important;
    color:#111827!important;
    overflow:hidden!important;
    white-space:pre!important;
    pointer-events:none!important;
    line-height:1.1!important;
    min-width:0!important;
}
.message-input-preview.empty{color:#64748b!important;font-weight:900!important}
.message-input-preview.rainbow-preview:not(.empty){
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
}
.composer-emoticon{
    width:30px!important;
    height:30px!important;
    object-fit:contain!important;
    vertical-align:middle!important;
    display:inline-block!important;
    flex:0 0 auto!important;
    margin:0 1px!important;
    background:none!important;
    -webkit-text-fill-color:initial!important;
    animation-play-state:running!important;
}
.chat-emoticon{
    animation-play-state:running!important;
}
.message-input-shell.is-disabled{opacity:.6!important;pointer-events:none!important}
@media(max-width:980px){.composer-emoticon{width:28px!important;height:28px!important}.message-input-preview{padding:14px 16px!important}}


/* v72 - cor do texto no campo e emoticons com altura fixa */
.message-input-preview:not(.empty){
    color:var(--composer-preview-color,#111827)!important;
    -webkit-text-fill-color:var(--composer-preview-color,#111827)!important;
}
.message-input-preview.rainbow-preview:not(.empty){
    color:#f60b8a!important;
    -webkit-text-fill-color:#f60b8a!important;
}
.message-input-preview .composer-emoticon,
.composer-emoticon{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    width:auto!important;
    max-width:44px!important;
    object-fit:contain!important;
    vertical-align:middle!important;
    flex:0 0 auto!important;
}
.msg-inline-body .chat-emoticon,
.messages .chat-emoticon,
.chat-emoticon{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    width:auto!important;
    max-width:46px!important;
    object-fit:contain!important;
    vertical-align:middle!important;
    display:inline-block!important;
    line-height:1!important;
    margin:0 2px!important;
}
.msg-inline-body span[style*="font-size"] .chat-emoticon,
.messages span[style*="font-size"] .chat-emoticon{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    width:auto!important;
    max-width:46px!important;
}


/* v74 - todos os emoticons com 25px de altura e largura proporcional */
.emoji-panel .emoticon-btn img{
    height:25px!important;
    min-height:25px!important;
    max-height:25px!important;
    width:auto!important;
    max-width:42px!important;
    object-fit:contain!important;
}
.message-input-preview .composer-emoticon,
.composer-emoticon,
.msg-inline-body .chat-emoticon,
.messages .chat-emoticon,
.chat-emoticon,
.msg-inline-body span[style*="font-size"] .chat-emoticon,
.messages span[style*="font-size"] .chat-emoticon{
    height:25px!important;
    min-height:25px!important;
    max-height:25px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    object-fit:contain!important;
    vertical-align:middle!important;
    display:inline-block!important;
    line-height:1!important;
    margin:0 2px!important;
}


/* v75 - atalhos fáceis dos emoticons */
.emoji-panel .emoticon-btn{position:relative!important;overflow:visible!important}
.emoji-panel .emoticon-btn::after{
    content:attr(data-code);
    position:absolute;
    right:-4px;
    bottom:-6px;
    min-width:18px;
    height:14px;
    padding:0 3px;
    border-radius:999px;
    background:#0f3f73;
    color:#ffffff;
    border:1px solid #93c5fd;
    font-size:9px;
    font-weight:900;
    line-height:14px;
    box-shadow:0 2px 6px rgba(15,23,42,.18);
}


/* v76 - correção do seletor de avatares no celular */
.entry-card,
.entry-form,
.avatar-picker,
.avatar-picker-variants{
    overflow:visible!important;
}
.avatar-picker .avatar-variant-choice:has(.avatar-variant-menu:not([hidden])){
    z-index:99999!important;
}
.avatar-variant-choice:has(.avatar-variant-menu:not([hidden])) .avatar-main-choice{
    z-index:100000!important;
}
@media(max-width:520px){
    .avatar-variant-menu{
        position:fixed!important;
        left:50%!important;
        top:50%!important;
        right:auto!important;
        bottom:auto!important;
        transform:translate(-50%,-50%)!important;
        z-index:999999!important;
        width:min(260px,calc(100vw - 38px))!important;
        min-width:0!important;
        max-width:calc(100vw - 38px)!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        box-shadow:0 24px 70px rgba(15,63,115,.35)!important;
    }
    .avatar-variant-menu::before{display:none!important}
    .avatar-variant-option{min-height:94px!important}
    .avatar-variant-option .avatar-choice-icon{width:52px!important;height:52px!important}
}


/* v77 - paleta de cores corrigida no celular */
@media(max-width:680px){
    .composer-wrap{overflow:hidden!important}
    .composer-tools{
        width:100%!important;
        max-width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        gap:6px!important;
        overflow:visible!important;
    }
    .composer-tools .color-palette{
        position:relative!important;
        min-width:88px!important;
        max-width:88px!important;
        width:auto!important;
        flex:0 0 auto!important;
    }
    .composer-tools .color-palette.open{
        order:99!important;
        flex:1 0 100%!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        height:auto!important;
        min-height:38px!important;
        padding:7px 8px!important;
        box-sizing:border-box!important;
        overflow:visible!important;
        white-space:normal!important;
    }
    .composer-tools .color-palette.open .color-swatch{
        display:inline-flex!important;
        width:26px!important;
        height:26px!important;
        min-width:26px!important;
        min-height:26px!important;
        flex:0 0 26px!important;
    }
    .composer-tools .color-palette.open .color-palette-label{
        flex:0 0 auto!important;
        width:auto!important;
    }
}


/* v78 - painel de emoticons acima de tudo no celular */
@media(max-width:680px){
    .composer-wrap{overflow:visible!important}
    #emoji-panel.emoji-panel{
        position:fixed!important;
        left:10px!important;
        right:10px!important;
        bottom:150px!important;
        width:auto!important;
        max-width:none!important;
        max-height:min(46vh,360px)!important;
        padding:10px!important;
        background:#ffffff!important;
        border:1px solid #93c5fd!important;
        border-radius:16px!important;
        box-shadow:0 18px 50px rgba(15,63,115,.28)!important;
        z-index:999999!important;
        overflow:auto!important;
        overscroll-behavior:contain!important;
    }
    #emoji-panel[hidden]{display:none!important}
}


/* v78b - força o painel de emoticons fora do composer no celular */
@media(max-width:680px){
    body > #emoji-panel.emoji-panel,
    #emoji-panel.emoji-panel.emoji-panel-floating{
        position:fixed!important;
        left:10px!important;
        right:10px!important;
        bottom:210px!important;
        width:auto!important;
        max-width:none!important;
        max-height:min(42dvh,340px)!important;
        display:grid!important;
        grid-template-columns:repeat(auto-fill,minmax(42px,1fr))!important;
        gap:8px!important;
        padding:10px!important;
        background:#ffffff!important;
        border:1px solid #93c5fd!important;
        border-radius:16px!important;
        box-shadow:0 18px 55px rgba(15,63,115,.34)!important;
        z-index:2147483647!important;
        overflow:auto!important;
        overscroll-behavior:contain!important;
    }
    body > #emoji-panel.emoji-panel[hidden],
    #emoji-panel.emoji-panel.emoji-panel-floating[hidden]{display:none!important}
}

/* v79 - avatar especial escolhido por usuário sem alterar o avatar-base. */
.avatar-mini.has-special-avatar{background-image:none!important;position:relative!important;overflow:visible!important}
.avatar-mini.has-special-avatar > img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:inherit!important;pointer-events:none!important}
.admin-avatar-field{display:flex;align-items:center;gap:8px;min-width:155px}
.admin-avatar-cell{min-width:180px}
.admin-avatar-field select{max-width:195px;width:100%;min-width:110px;font-size:12px}
.special-avatar-preview{width:38px;height:38px;object-fit:contain;border-radius:8px;flex:none}
.special-avatar-preview[hidden]{display:none!important}

/* v80 - opções de avatar especiais acumuláveis, sem apagar o selecionado. */
.admin-avatar-field{flex-wrap:wrap}
.additional-avatar-grant{flex-basis:100%;display:flex;flex-direction:column;gap:3px;font-size:11px}
.additional-avatar-grant label{display:flex;flex-direction:column;gap:4px;font-weight:650}
.additional-avatar-grant small{font-size:10px;color:#5a7191}
.my-avatar-options{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;margin-top:5px}
.my-avatar-options select{max-width:135px;min-width:90px;font-size:11px;border-radius:7px;padding:4px}
.my-avatar-options button{font-size:11px;padding:5px 7px;border-radius:7px;border:1px solid #7fb9e1;cursor:pointer;background:#e7f6ff;color:#075886;font-weight:700}


/* v85 - botão individual ao lado do som: rolagem automática de mensagens */
.chat-clean-header #auto-scroll-toggle.scroll-icon-btn,
.top-tools #auto-scroll-toggle.scroll-icon-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    border-radius:10px!important;
    border:1px solid #9ec8f9!important;
    background:#f7fbff!important;
    color:#0e497b!important;
    cursor:pointer!important;
    position:relative!important;
}
/* v89 - utiliza a imagem enviada dentro do botão (sem dependência de CSS mask). */
.chat-clean-header #auto-scroll-toggle.scroll-icon-btn::before,
.top-tools #auto-scroll-toggle.scroll-icon-btn::before{
    display:none!important;
    content:none!important;
}
.chat-clean-header #auto-scroll-toggle .scroll-toggle-icon,
.top-tools #auto-scroll-toggle .scroll-toggle-icon{
    display:block!important;
    width:24px!important;
    min-width:24px!important;
    max-width:24px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    object-fit:contain!important;
    opacity:1;
    pointer-events:none;
}
.top-tools #auto-scroll-toggle:not(.active) .scroll-toggle-icon{
    filter:grayscale(1);
    opacity:.6;
}
.top-tools #auto-scroll-toggle.scroll-icon-btn.active{
    background:#dbeafe!important;
    box-shadow:inset 0 0 0 1px #93c5fd!important;
    color:#0e497b!important;
}
.top-tools #auto-scroll-toggle.scroll-icon-btn:not(.active){
    background:#e2e8f0!important;
    border-color:#cbd5e1!important;
    color:#475569!important;
}


/* v86 - usuários do chat, lista lateral com rolagem própria. Corrige o
   overflow:visible herdado de v33 e mantém o topo do painel fixo. */
.chat-shell > .sidebar.users-right{
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
}
.sidebar.users-right > .online-title{
    flex:0 0 auto!important;
}
.sidebar.users-right > .online-list{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:#8dbbe6 #e5f2ff!important;
    padding-right:4px!important;
}
.sidebar.users-right > .online-list::-webkit-scrollbar{
    display:block!important;
    width:9px!important;
}
.sidebar.users-right > .online-list::-webkit-scrollbar-track{
    background:#e5f2ff!important;
    border-radius:10px!important;
}
.sidebar.users-right > .online-list::-webkit-scrollbar-thumb{
    background:#8dbbe6!important;
    border:2px solid #e5f2ff!important;
    border-radius:10px!important;
}
@media (max-width:980px){
    .chat-shell > .sidebar.users-right{
        height:100dvh!important;
        max-height:100dvh!important;
    }
}


/* v90 - anúncio VIP no espaço livre do cabeçalho e duas janelas de pedido. */
.chat-clean-header .vip-offer-banner{
    display:flex!important; align-items:center!important; justify-content:center!important;
    flex:1 1 auto!important; min-width:0!important; max-width:770px!important;
    gap:10px!important; padding:5px 12px!important; border:1px solid rgba(255,255,255,.45)!important;
    border-radius:999px!important; background:linear-gradient(105deg,rgba(5,50,105,.22),rgba(235,248,255,.19))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important; color:white!important;
    margin-right:10px!important; line-height:1.26!important;
}
.chat-clean-header .vip-offer-star{font-size:23px!important; color:#fff0a9!important; flex:none!important; text-shadow:0 2px 10px rgba(255,255,255,.35)!important}
.chat-clean-header .vip-offer-copy{font-size:clamp(12px,1.04vw,16px)!important;font-weight:650!important;min-width:0!important;text-align:center!important;letter-spacing:.01em!important; color:#fff!important}
.chat-clean-header .vip-offer-copy strong{color:#fff4a9!important;font-weight:900!important;text-shadow:0 1px 5px rgba(3,37,65,.2)!important}
.chat-clean-header .vip-offer-more{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
    flex:0 0 auto!important; white-space:nowrap!important; padding:8px 12px!important; min-height:34px!important;
    color:#0b4b79!important; border:1px solid #fff9c6!important; border-radius:999px!important;
    background:linear-gradient(145deg,#fff9cc,#ffdf7e)!important;box-shadow:0 3px 10px rgba(5,61,103,.24)!important;
    font:800 12px Arial,Helvetica,sans-serif!important; cursor:pointer!important;
}
.chat-clean-header .vip-offer-more:hover{background:#fff0ad!important;transform:translateY(-1px)}
.chat-clean-header .vip-offer-more:focus-visible{outline:3px solid white!important;outline-offset:2px!important}
.chat-clean-header .vip-offer-more span{font-size:18px!important;line-height:14px!important}
.app-modal:has(.vip-sales-card) .app-modal-panel{width:min(525px,100%)!important;padding:27px 26px!important;background:linear-gradient(145deg,#ffffff,#e8f4ff)!important;border:1px solid #a8cff0!important}
.vip-sales-card{text-align:center!important;color:#133354!important}
.vip-sales-card .vip-modal-icon{width:58px;height:58px;display:grid;place-items:center;margin:3px auto 8px;border-radius:20px;background:linear-gradient(135deg,#2086d0,#0f5a9b);color:#fff1b4;font-size:32px;box-shadow:0 7px 18px rgba(43,127,193,.26)}
.vip-sales-card .vip-modal-eyebrow{display:inline-block;font-weight:900;color:#1475bb;font-size:12px;letter-spacing:.18em;margin:3px 0}
.vip-sales-card h2{font-size:27px!important;line-height:1.12!important;margin:8px 20px 9px!important;color:#0e4274!important}
.vip-sales-card p.vip-modal-intro{margin:0 auto 17px!important;max-width:390px;font-size:15px!important;color:#42698a!important}
.vip-sales-card .vip-modal-intro strong{color:#0c63a4;font-size:18px}
.vip-perks{display:grid;gap:10px;margin:18px 0}
.vip-perk{display:flex;align-items:flex-start;gap:13px;padding:13px 14px;text-align:left;background:#f5faff;border:1px solid #cbe3fa;border-radius:15px}
.vip-perk>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;color:#126aa7;font-size:22px;background:#dbeeff}
.vip-perk strong{display:block;color:#153e67;font-size:15px!important;font-weight:850;margin:0 0 3px}
.vip-perk small{display:block!important;color:#54738d!important;font-size:13px!important;margin:0!important;line-height:1.38!important;font-weight:500!important}
.vip-primary-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;min-height:46px!important;padding:12px!important;border:none!important;border-radius:13px!important;color:#fff!important;background:linear-gradient(120deg,#137ac3,#075994)!important;box-shadow:0 7px 18px rgba(20,112,185,.22)!important;font-weight:850!important;cursor:pointer!important}
.vip-primary-action:hover:not(:disabled){filter:brightness(1.08)}
.vip-primary-action:disabled{opacity:.5!important;cursor:not-allowed!important}
.vip-sales-card p.vip-modal-footnote{margin:12px 0 0!important;color:#5d7590!important;font-size:12px!important;line-height:1.4!important}
.vip-pix-info{padding:15px;background:#f4faff;border:1px solid #cce4fc;border-radius:16px}
.vip-pix-qr{display:block;max-width:100%;object-fit:contain;margin:0 auto 12px;padding:8px;background:#fff;border-radius:12px;border:1px solid #d3e6f7}
.vip-pix-pending{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px dashed #b0cce4;border-radius:13px;min-height:145px;justify-content:center;margin:0 0 12px}
.vip-pix-pending>span{font-size:45px;color:#8ab9dd}.vip-pix-pending strong{font-size:14px}.vip-pix-pending small{font-size:12px!important;color:#6183a1!important;margin:0!important}
.vip-pix-label{display:block;text-align:left;margin:10px 0 6px;font-size:13px;font-weight:800;color:#2c6088}
#vip-pix-code{width:100%;max-width:100%;resize:vertical;min-height:73px;background:#fff;color:#203f5f;padding:11px;border:1px solid #b6d7ef;border-radius:10px;font:12px/1.4 monospace;overflow-wrap:anywhere;box-sizing:border-box}
.vip-payment-card .vip-primary-action{margin-top:9px}
.vip-pix-feedback{min-height:20px;margin:8px 0 0!important;color:#16794a!important;font-size:13px!important;font-weight:800}
.vip-whatsapp-action{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;min-height:44px!important;padding:11px 14px!important;margin:12px 0!important;border-radius:13px!important;background:#e9f9ed!important;border:1px solid #a5e6b8!important;color:#146d3d!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer!important}
.vip-whatsapp-action:disabled{opacity:.55!important;cursor:not-allowed!important}
.vip-whatsapp-action>span{font-size:19px!important}
.vip-back-action{background:transparent!important;border:0!important;color:#246fa7!important;font-size:13px!important;font-weight:750!important;cursor:pointer!important;padding:5px!important}
@media(max-width:1100px){
 .chat-clean-header .vip-offer-banner{flex:1 1 100%!important;order:-1!important;max-width:none!important;margin:0!important}
 .chat-clean-header{gap:8px!important}
 .chat-clean-header .vip-offer-copy{font-size:13px!important}
}
@media(max-width:600px){
 .chat-clean-header .vip-offer-banner{gap:6px!important;padding:5px 7px!important;justify-content:space-between!important;border-radius:12px!important}
 .chat-clean-header .vip-offer-copy{font-size:11px!important;text-align:left!important}
 .chat-clean-header .vip-offer-star{font-size:16px!important}
 .chat-clean-header .vip-offer-more{font-size:10px!important;padding:7px 8px!important}
 .app-modal:has(.vip-sales-card) .app-modal-panel{padding:22px 16px!important}
 .vip-sales-card h2{font-size:24px!important}
 .vip-perk{padding:10px!important}
}
/* v90 ajuste mobile: não recortar controles do cabeçalho abaixo do anúncio. */
@media(max-width:1100px){
    .chat-clean-header{flex-wrap:wrap!important;height:auto!important}
    .chat-clean-header .vip-offer-banner{width:100%!important;flex-basis:100%!important}
    .chat-clean-header .top-tools{order:2!important;flex:1 1 100%!important;width:100%!important;max-width:100%!important;margin:0!important;justify-content:flex-end!important;flex-wrap:wrap!important}
}
@media(max-width:1100px){
    .chat-clean-header{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important}
}


/* v91 - ajustes finais banner e modais VIP conforme referência */
.chat-clean-header .vip-offer-banner{
    flex:1 1 auto!important;
    min-width:280px!important;
    max-width:660px!important;
    margin-right:auto!important;
    gap:12px!important;
    padding:8px 16px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#3b8ac9 0%, #2b78b8 100%)!important;
    border:1px solid rgba(255,255,255,.55)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.chat-clean-header .vip-offer-copy{font-size:clamp(12px,1vw,16px)!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.chat-clean-header .vip-offer-copy em{font-style:normal!important;color:#ffffff!important;font-weight:900!important}
.chat-clean-header .vip-offer-star{font-size:17px!important}
.chat-clean-header .vip-offer-more{padding:9px 14px!important;border-radius:999px!important;background:#ffe79e!important;color:#0e4d82!important;font-weight:900!important;font-size:13px!important;box-shadow:0 2px 0 rgba(173,129,36,.18)!important}
.chat-clean-header .vip-offer-more span{font-size:16px!important}
.app-modal:has(.vip-sales-card) .app-modal-panel{width:min(470px,calc(100vw - 24px))!important;padding:18px 18px 16px!important;background:linear-gradient(180deg,#ffffff,#ecf6ff)!important;border:1px solid #90bce4!important;border-radius:22px!important;box-shadow:0 30px 80px rgba(8,48,84,.38)!important}
.vip-sales-card{text-align:center!important;color:#173f69!important}
.vip-sales-card .vip-modal-eyebrow,.vip-sales-card .vip-modal-icon{display:none!important}
.vip-sales-card h2{font-size:24px!important;line-height:1.15!important;margin:8px 18px 8px!important;color:#194a7d!important;font-weight:900!important}
.vip-sales-card p.vip-modal-intro{margin:0 auto 16px!important;max-width:390px;font-size:15px!important;color:#456f95!important;line-height:1.45!important}
.vip-sales-card .vip-modal-intro strong{color:#0e64ad;font-size:16px!important}
.vip-highlight-quote{color:#0e64ad!important;font-weight:900!important}
.vip-perks{display:grid;gap:10px;margin:16px 0}
.vip-perk{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;text-align:left;background:rgba(234,244,253,.72);border:1px solid #bed7ed;border-radius:16px}
.vip-perk>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;color:#1c78bd;font-size:18px;background:#dcecff}
.vip-perk strong{display:block;color:#1a4772;font-size:16px!important;font-weight:900;margin:0 0 3px}
.vip-perk small{display:block!important;color:#597693!important;font-size:13px!important;line-height:1.3!important;margin:0!important}
.vip-primary-action{min-height:40px!important;border-radius:12px!important;font-size:14px!important;background:linear-gradient(180deg,#197cc5,#0960a5)!important;box-shadow:0 8px 20px rgba(26,118,189,.20)!important}
.vip-sales-card p.vip-modal-footnote{margin:11px 0 0!important;color:#677d95!important;font-size:12px!important;line-height:1.4!important}
.vip-pix-info{padding:15px 14px;background:rgba(240,248,255,.78)!important;border:1px solid #c7def2!important;border-radius:16px!important}
.vip-pix-qr{display:block;max-width:100%;width:255px!important;height:auto!important;object-fit:contain;margin:0 auto 14px;padding:10px;background:#fff;border-radius:12px;border:1px dashed #afd0ef!important;box-shadow:none!important}
.vip-pix-label{display:block;text-align:left;margin:8px 0 6px;font-size:13px;font-weight:900;color:#275a89}
#vip-pix-code{min-height:67px!important;border-radius:10px!important;background:#fff!important;color:#314b67!important;border:1px solid #b5d3ef!important}
.vip-payment-card .vip-primary-action{margin-top:10px!important}
.vip-pix-feedback{min-height:18px;margin:6px 0 0!important;color:#16794a!important;font-size:12px!important;font-weight:800}
.vip-whatsapp-action{min-height:42px!important;padding:10px 14px!important;margin:12px 0 10px!important;border-radius:12px!important;background:#eef7ef!important;border:1px solid #beddc2!important;color:#69a28a!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important}
.vip-back-action{background:transparent!important;border:0!important;color:#246fa7!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;padding:4px!important}
@media (max-width: 980px){
 .chat-clean-header .vip-offer-banner{order:-1!important;flex:1 1 100%!important;max-width:none!important;margin:0 0 6px 0!important}
}
@media (max-width: 640px){
 .chat-clean-header .vip-offer-banner{gap:8px!important;padding:7px 10px!important;border-radius:14px!important}
 .chat-clean-header .vip-offer-copy{white-space:normal!important;line-height:1.2!important;font-size:11px!important;text-align:left!important}
 .chat-clean-header .vip-offer-more{padding:8px 10px!important;font-size:11px!important;flex:none!important}
 .app-modal:has(.vip-sales-card) .app-modal-panel{padding:16px 14px!important}
 .vip-sales-card h2{font-size:22px!important}
}


/* v93 - fluxo VIP no estilo MultiZap */
.app-modal:has(.vip-checkout-card) .app-modal-panel{width:min(820px,calc(100vw - 24px))!important;padding:18px!important;background:#f8fbff!important;border:1px solid #bcd3e8!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(20,48,74,.35)!important}
.vip-checkout-card{color:#284a5f!important;text-align:left!important}
.vip-checkout-card h2{font-size:26px!important;line-height:1.15!important;text-align:center!important;color:#184b7f!important;margin:4px 0 16px!important;font-weight:900!important}
.vip-checkout-card .vip-modal-intro{text-align:center!important;max-width:none!important;margin:0 0 14px!important;color:#587792!important}
.vip-info-banner{display:flex;gap:14px;align-items:flex-start;padding:18px 18px;background:#eef5ff;border:1px solid #bdd2ef;border-radius:18px;margin:8px 0 16px}
.vip-info-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#4a78ff;color:#fff;font-weight:900;font-size:20px;line-height:1}
.vip-info-banner strong{display:block;color:#224f82;font-size:15px;margin-bottom:4px}
.vip-info-banner p{margin:0!important;color:#496784;font-size:14px!important;line-height:1.45!important}
.vip-support-banner{padding:15px 18px;border-radius:16px;margin:0 0 18px;font-size:14px;font-weight:800;line-height:1.45}
.vip-support-banner.is-closed{background:#fbf1e4;border:1px solid #eed5b1;color:#a56d14}
.vip-support-banner.is-open{background:#e8f8ec;border:1px solid #bfe4c8;color:#1f7c49}
.vip-support-banner.compact{margin-top:12px;margin-bottom:16px}
.vip-generate-pix-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:60px!important;padding:15px 18px!important;border:none!important;border-radius:16px!important;background:#19ad57!important;color:#fff!important;font-size:18px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(25,173,87,.22)!important;cursor:pointer!important}
.vip-generate-pix-btn:hover{filter:brightness(1.04)}
.vip-order-help{margin:16px 0 24px!important;color:#768f84!important;font-size:14px!important;line-height:1.5!important;max-width:92%}
.vip-order-actions{display:flex;gap:12px;align-items:center}
.vip-order-actions.single-end{justify-content:flex-end}
.vip-order-actions.dual-end{justify-content:flex-end;margin-top:16px}
.vip-neutral-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:90px!important;min-height:52px!important;padding:12px 20px!important;border-radius:14px!important;border:1px solid #d8dee6!important;background:#f0f2f4!important;color:#5b6876!important;font-size:16px!important;font-weight:800!important;cursor:pointer!important}
.vip-neutral-action:hover{background:#e7ebef!important}
.vip-payment-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:22px;align-items:start;margin-top:6px}
.vip-payment-qr-col{display:flex;justify-content:center}
.vip-payment-details-col{display:flex;flex-direction:column}
.vip-pix-qr{width:100%!important;max-width:278px!important;background:#fff!important;border:1px solid #c6d8c9!important;border-radius:18px!important;padding:16px!important;box-sizing:border-box!important}
.vip-pix-label{display:block;font-size:16px!important;font-weight:900!important;color:#4a6854!important;margin:0 0 10px!important}
#vip-pix-code{width:100%!important;min-height:120px!important;padding:16px!important;border-radius:16px!important;border:1px solid #c6d8c9!important;background:#f9fffb!important;color:#31463a!important;font:700 15px/1.55 monospace!important;resize:none!important}
.vip-copy-pix-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:54px!important;margin-top:14px!important;padding:12px 18px!important;border:none!important;border-radius:16px!important;background:linear-gradient(180deg,#4271ff,#2f5aef)!important;color:#fff!important;font-size:16px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 10px 20px rgba(60,96,228,.24)!important}
.vip-copy-pix-btn:disabled{opacity:.55!important;cursor:not-allowed!important}
.vip-copy-pix-btn:hover:not(:disabled){filter:brightness(1.04)}
.vip-whatsapp-action{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;padding:14px 18px!important;margin:0!important;border:none!important;border-radius:16px!important;background:#72c99d!important;color:#ffffff!important;font-size:16px!important;font-weight:900!important;text-decoration:none!important;box-shadow:none!important}
.vip-whatsapp-action:hover{filter:brightness(1.03)}
.vip-pix-feedback{min-height:20px!important;margin:10px 0 0!important;color:#1d7b4e!important;font-size:13px!important;font-weight:800!important;text-align:center!important}
@media (max-width: 760px){
  .app-modal:has(.vip-checkout-card) .app-modal-panel{width:min(92vw,680px)!important;padding:14px!important}
  .vip-payment-grid{grid-template-columns:1fr!important;gap:16px!important}
  .vip-payment-qr-col{justify-content:center!important}
  .vip-order-help{max-width:none!important}
  .vip-order-actions.dual-end,.vip-order-actions.single-end{justify-content:flex-end!important}
  .vip-neutral-action{min-height:48px!important;font-size:15px!important}
}


/* v94 — Modal VIP: a classe é aplicada pelo JavaScript, sem depender de :has() */
#app-modal.vip-checkout-open .app-modal-panel {
  width:min(800px,calc(100vw - 32px))!important;
  max-height:min(92dvh,880px)!important;
  overflow:auto!important;
  background:linear-gradient(160deg,#ffffff 0%,#eff7ff 100%)!important;
  border:1px solid #bfdbfe!important;
  border-radius:24px!important;
  padding:28px 28px 22px!important;
  box-shadow:0 30px 90px rgba(8,37,70,.40)!important;
}
#app-modal .vip-checkout-card,
#app-modal .vip-checkout-card * { box-sizing:border-box; }
#app-modal .vip-checkout-card {
  display:block!important;
  text-align:left!important;
  color:#183b5f!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
#app-modal .vip-checkout-card h2 {
  margin:8px 44px 22px!important;
  color:#174b7f!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
}
#app-modal .vip-info-banner {
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  margin:0 0 16px!important;
  padding:18px!important;
  border-radius:17px!important;
  background:#eef5ff!important;
  border:1px solid #bdd2ff!important;
  text-align:left!important;
}
#app-modal .vip-info-icon {
  flex:0 0 30px!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  color:white!important;
  background:#4169ff!important;
  font:900 21px Arial,sans-serif!important;
}
#app-modal .vip-info-banner strong {
  display:inline!important;
  font-size:15px!important;
  color:#244c82!important;
  font-weight:900!important;
}
#app-modal .vip-info-banner p {
  text-align:left!important;
  font-size:14px!important;
  line-height:1.55!important;
  margin:6px 0 0!important;
  color:#466585!important;
}
#app-modal .vip-support-banner {
  display:block!important;
  border-radius:15px!important;
  border:1px solid #f4dfbe!important;
  padding:16px 18px!important;
  margin:16px 0 20px!important;
  text-align:left!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
#app-modal .vip-support-banner.is-closed {
  color:#935713!important;
  background:#fff5e6!important;
  border-color:#f5dbb3!important;
}
#app-modal .vip-support-banner.is-open {
  color:#17653c!important;
  background:#e9f8ed!important;
  border-color:#bbe9c9!important;
}
#app-modal .vip-generate-pix-btn {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:58px!important;
  padding:14px 20px!important;
  background:#14a957!important;
  color:white!important;
  border:0!important;
  border-radius:14px!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.3!important;
  box-shadow:0 5px 14px rgba(20,169,87,.15)!important;
  cursor:pointer!important;
}
#app-modal .vip-generate-pix-btn:hover { filter:brightness(1.06); }
#app-modal .vip-order-help {
  max-width:100%!important;
  margin:18px 0 26px!important;
  color:#718c83!important;
  font-size:14px!important;
  text-align:left!important;
  line-height:1.55!important;
  font-weight:400!important;
}
#app-modal .vip-order-actions {
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:12px!important;
}
#app-modal .vip-neutral-action {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  min-width:90px!important;
  padding:12px 20px!important;
  background:#f2f4f6!important;
  border:1px solid #dbe2e9!important;
  border-radius:12px!important;
  color:#5f6d7a!important;
  font-size:15px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
#app-modal .vip-payment-grid {
  display:grid!important;
  grid-template-columns:minmax(180px,285px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:22px!important;
}
#app-modal .vip-payment-qr-col,
#app-modal .vip-payment-details-col {
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
#app-modal .vip-pix-qr {
  display:block!important;
  width:100%!important;
  max-width:285px!important;
  height:auto!important;
  padding:16px!important;
  border:1px solid #c9ded2!important;
  border-radius:17px!important;
  background:white!important;
  object-fit:contain!important;
}
#app-modal .vip-pix-label {
  display:block!important;
  text-align:left!important;
  margin:0 0 10px!important;
  font-size:15px!important;
  font-weight:900!important;
  color:#40634f!important;
}
#app-modal #vip-pix-code {
  width:100%!important;
  max-width:100%!important;
  min-height:120px!important;
  resize:vertical!important;
  border:1px solid #c9dfd0!important;
  border-radius:14px!important;
  background:#f9fefa!important;
  color:#264737!important;
  font:700 13px/1.5 monospace!important;
  padding:14px!important;
  overflow-wrap:anywhere!important;
}
#app-modal .vip-copy-pix-btn {
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  padding:12px 16px!important;
  margin-top:12px!important;
  border:0!important;
  border-radius:14px!important;
  color:white!important;
  background:linear-gradient(180deg,#436bff,#2d57f0)!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#app-modal .vip-copy-pix-btn:disabled {opacity:.55!important;cursor:not-allowed!important;}
#app-modal .vip-whatsapp-action {
  display:flex!important;
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:14px 15px!important;
  align-items:center!important;
  justify-content:center!important;
  color:white!important;
  background:#67c996!important;
  border:none!important;
  border-radius:14px!important;
  font-size:15px!important;
  font-weight:900!important;
  text-decoration:none!important;
  text-align:center!important;
}
#app-modal .vip-pix-feedback {
  text-align:center!important;
  margin:8px 0 0!important;
  min-height:18px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#177b4a!important;
}
@media(max-width:680px) {
  #app-modal.vip-checkout-open .app-modal-panel {
    width:calc(100vw - 20px)!important;
    padding:22px 15px 18px!important;
    max-height:calc(100dvh - 22px)!important;
  }
  #app-modal .vip-checkout-card h2 {font-size:23px!important; margin:6px 26px 20px!important;}
  #app-modal .vip-payment-grid {grid-template-columns:minmax(0,1fr)!important;gap:18px!important;}
  #app-modal .vip-payment-qr-col {align-items:center!important;}
  #app-modal .vip-pix-qr {max-width:255px!important;}
  #app-modal .vip-info-banner {padding:15px!important;}
  #app-modal .vip-support-banner {font-size:14px!important;}
  #app-modal .vip-generate-pix-btn {font-size:16px!important;}
}


/* v96 - modal de vantagens VIP mais largo e no padrão das janelas seguintes */
#app-modal.vip-benefits-open .app-modal-panel{
  width:min(640px,calc(100vw - 28px))!important;
  max-height:min(92dvh,880px)!important;
  overflow:auto!important;
  background:linear-gradient(160deg,#ffffff 0%,#eff7ff 100%)!important;
  border:1px solid #bfdbfe!important;
  border-radius:24px!important;
  padding:24px 24px 20px!important;
  box-shadow:0 30px 90px rgba(8,37,70,.40)!important;
}
#app-modal .vip-benefits-card,
#app-modal .vip-benefits-card *{box-sizing:border-box}
#app-modal .vip-benefits-card{color:#173f69!important;text-align:center!important;font-family:Arial,Helvetica,sans-serif!important}
#app-modal .vip-benefits-card h2{
  font-size:26px!important;
  line-height:1.08!important;
  margin:6px 48px 10px!important;
  color:#194a7d!important;
  font-weight:900!important;
  text-align:center!important;
}
#app-modal .vip-benefits-card p.vip-modal-intro{
  margin:0 auto 18px!important;
  max-width:470px!important;
  font-size:15px!important;
  color:#456f95!important;
  line-height:1.42!important;
  text-align:center!important;
}
#app-modal .vip-benefits-card .vip-modal-intro strong{color:#0e64ad!important;font-size:16px!important}
#app-modal .vip-benefits-card .vip-highlight-quote{color:#0e64ad!important;font-weight:900!important}
#app-modal .vip-benefits-card .vip-perks{display:grid!important;gap:10px!important;margin:16px 0 14px!important}
#app-modal .vip-benefits-card .vip-perk{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  padding:12px 14px!important;
  text-align:left!important;
  background:rgba(234,244,253,.72)!important;
  border:1px solid #bed7ed!important;
  border-radius:16px!important;
}
#app-modal .vip-benefits-card .vip-perk > span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  color:#1c78bd!important;
  font-size:18px!important;
  background:#dcecff!important;
}
#app-modal .vip-benefits-card .vip-perk strong{display:block!important;color:#1a4772!important;font-size:16px!important;font-weight:900!important;margin:0 0 3px!important}
#app-modal .vip-benefits-card .vip-perk small{display:block!important;color:#597693!important;font-size:13px!important;line-height:1.3!important;margin:0!important}
#app-modal .vip-benefits-card .vip-primary-action{
  min-height:40px!important;
  width:100%!important;
  border-radius:12px!important;
  font-size:14px!important;
  background:linear-gradient(180deg,#197cc5,#0960a5)!important;
  box-shadow:0 8px 20px rgba(26,118,189,.20)!important;
  color:#fff!important;
  border:none!important;
  font-weight:900!important;
}
#app-modal .vip-benefits-card p.vip-modal-footnote{margin:11px 0 0!important;color:#677d95!important;font-size:12px!important;line-height:1.4!important}
@media (max-width: 680px){
  #app-modal.vip-benefits-open .app-modal-panel{width:calc(100vw - 20px)!important;padding:20px 14px 18px!important}
  #app-modal .vip-benefits-card h2{font-size:22px!important;line-height:1.1!important;margin:6px 34px 10px!important}
  #app-modal .vip-benefits-card p.vip-modal-intro{font-size:14px!important;max-width:none!important}
}


/* v97 — seletor de emoticons limpo: atalhos continuam funcionando sem selos visuais */
#emoji-panel .emoticon-btn::after,
#emoji-panel .emoticon-btn::before {
    content:none!important;
    display:none!important;
}
#emoji-panel .emoticon-btn { overflow:hidden!important; }


/* v98 - emoticons inteiros e centralizados em cartões sem sobreposição.
   Alguns GIFs originais são muito largos; uma área interna fixa evita que
   braços/mãos desenhados encostem nas bordas ou invadam os botões vizinhos. */
#emoji-panel.emoji-panel {
    grid-template-columns:repeat(auto-fill,minmax(50px,1fr))!important;
    gap:9px!important;
    align-content:start!important;
}
#emoji-panel .emoticon-btn {
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    padding:7px!important;
    overflow:hidden!important;
    border:1px solid #d6e4f2!important;
    border-radius:12px!important;
    background:#fff!important;
    isolation:isolate!important;
}
#emoji-panel .emoticon-btn img {
    display:block!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}
#emoji-panel .emoticon-btn::after,
#emoji-panel .emoticon-btn::before {
    content:none!important;
    display:none!important;
}
@media(max-width:680px) {
    #emoji-panel.emoji-panel {
        grid-template-columns:repeat(auto-fill,minmax(48px,1fr))!important;
        gap:8px!important;
    }
    #emoji-panel .emoticon-btn {
        width:48px!important;
        min-width:48px!important;
        height:48px!important;
        min-height:48px!important;
        padding:7px!important;
    }
    #emoji-panel .emoticon-btn img {
        flex-basis:32px!important;
        width:32px!important;
        height:32px!important;
    }
}


/* v99 - imagens, áudio e gravação de tela compactados no chat */
.chat-media-toolbar{display:flex;gap:7px;flex-wrap:wrap;padding:6px 10px;background:#d7eaff;border-top:1px solid #b6d5f2}
.chat-media-toolbar .media-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;min-height:34px;border:1px solid #a4c8eb;border-radius:10px;background:#f7fbff;color:#114d7e;font-weight:800;font-size:12px;cursor:pointer}
.chat-media-toolbar .media-tool:hover{background:#ecf5ff}
.chat-media-toolbar .media-tool:disabled{opacity:.45;cursor:not-allowed}
.chat-media-composer[hidden]{display:none!important}
.chat-media-composer{padding:12px 16px;border:1px solid #aed0ec;border-radius:14px;margin:8px;background:#eff7ff;color:#12476f;box-shadow:0 6px 20px rgba(10,70,120,.08)}
.chat-media-preview{display:flex;align-items:center;gap:12px;min-height:40px;font-weight:800}
.chat-media-preview img{max-height:170px;max-width:240px;object-fit:contain;border-radius:10px}
.chat-media-preview video{max-height:220px;max-width:min(100%,360px);border-radius:10px;background:#0f172a}
.chat-media-preview audio{max-width:100%;width:310px}
.chat-media-controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}
.chat-media-controls button{padding:9px 14px;border:0;border-radius:10px;background:#2b7fc1;color:white;font-weight:800;cursor:pointer}
.chat-media-controls button:last-child{background:#64748b}
.chat-media-controls button[hidden]{display:none!important}
.chat-media-feedback{font-size:12px;font-weight:700;margin-top:8px;color:#285478}
.chat-media-in-message{display:block;max-width:min(360px,100%);max-height:300px;height:auto;border-radius:12px;margin:5px 0;object-fit:contain}
.chat-media-video{display:block;max-width:min(430px,100%);max-height:320px;background:#111827;border-radius:12px;margin:5px 0}
.chat-media-audio{display:block;max-width:min(320px,100%);margin:5px 0}
@media(max-width:600px){.chat-media-toolbar{gap:5px;padding:7px}.chat-media-toolbar .media-tool{flex:1 1 calc(50% - 5px);font-size:11px;padding:7px 5px}}

/* v99 - salas públicas/privadas em janela integrada ao chat */
.chat-rooms-open{color:#fff!important;background:#175990!important;border:1px solid #90c5fa!important;font-weight:900!important;border-radius:10px!important;padding:10px 12px!important;cursor:pointer!important}
#app-modal.rooms-modal-open .app-modal-panel{width:min(1100px,calc(100vw - 20px))!important;height:min(790px,calc(100dvh - 22px))!important;max-height:96dvh!important;padding:14px!important;border-radius:19px!important;display:flex!important;flex-direction:column!important}
.rooms-modal-card{display:flex;flex-direction:column;flex:1;min-height:0!important;overflow:hidden}
.rooms-modal-card h2{font-size:18px!important;color:#164c7f!important;margin:2px 48px 9px 8px!important}
.rooms-iframe{display:block;flex:1;min-height:0;width:100%;border:1px solid #b3d4ef;background:#f5fbff;border-radius:12px}
@media(max-width:670px){#app-modal.rooms-modal-open .app-modal-panel{padding:8px!important;height:calc(100dvh - 14px)!important}.rooms-modal-card h2{font-size:15px!important}}

#app-modal.rooms-modal-open #app-modal-content{display:flex!important;flex:1!important;min-height:0!important;min-width:0!important}
#app-modal.rooms-modal-open .rooms-modal-card{height:100%!important;width:100%!important}


/* v100 - controles simplificados, janelas temáticas e cópia de código */
#rooms-open[hidden],#media-screen-open,#media-video-open{display:none!important}
#chat-microphone-dialog[hidden],#chat-image-lightbox[hidden],#chat-code-composer[hidden]{display:none!important}
.chat-permission-overlay,.chat-image-lightbox{position:fixed;inset:0;z-index:5000;background:rgba(5,25,50,.76);display:grid;place-items:center;padding:18px;backdrop-filter:blur(3px)}
.chat-permission-card{width:min(480px,100%);padding:24px;background:linear-gradient(145deg,#fff,#eaf5ff);color:#1c426b;border:1px solid #99c6eb;border-radius:23px;box-shadow:0 22px 75px rgba(0,23,55,.35)}
.chat-permission-top{display:flex;align-items:center;justify-content:space-between}
.chat-permission-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#deeeff;font-size:25px}
.chat-permission-top button,.chat-image-lightbox-header button{min-width:36px;min-height:36px;border:0;border-radius:11px;background:#e2eaf4;color:#234d76;font-size:25px;cursor:pointer}
.chat-permission-card h2{font-size:23px;font-weight:900;margin:15px 0 10px;color:#144b82}
.chat-permission-card p{font-size:15px;line-height:1.55;margin:0 0 18px;color:#4d6b87}
.chat-permission-note{background:#e2f0fd;border:1px solid #b5d9fa;padding:12px;border-radius:12px;font-size:13px;color:#2e5a82}
.chat-permission-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.chat-permission-buttons button{border:0;border-radius:12px;min-height:43px;padding:11px 15px;font-weight:800;cursor:pointer}
#chat-microphone-cancel{background:#e2e8f0;color:#425466}
#chat-microphone-confirm{background:#2b7fc1;color:#fff}
.chat-recording-indicator{display:flex;align-items:center;gap:10px;font-size:16px;color:#a32941;font-weight:900}
.chat-recording-dot{display:block;width:13px;height:13px;border-radius:50%;background:#e11d48;box-shadow:0 0 0 5px rgba(225,29,72,.12);animation:chat-record-pulse 1s infinite alternate}
#chat-recording-timer{font-variant-numeric:tabular-nums;color:#264c76;font-weight:800}
@keyframes chat-record-pulse{from{opacity:1}to{opacity:.38}}
.chat-media-expand{display:block!important;position:relative!important;padding:0!important;margin:5px 0!important;border:0!important;border-radius:13px!important;background:transparent!important;cursor:zoom-in!important;max-width:min(360px,100%)!important;box-shadow:none!important}
.chat-media-expand .chat-media-in-message{margin:0!important}
.chat-image-zoom-icon{position:absolute;right:9px;bottom:9px;border-radius:9px;background:rgba(5,45,82,.82);color:#fff;font-size:18px;padding:4px 9px;pointer-events:none}
.chat-image-lightbox-dialog{display:flex;flex-direction:column;gap:14px;background:linear-gradient(135deg,#fff,#e9f4ff);padding:15px;border-radius:21px;border:1px solid #a9d0f4;max-width:min(98vw,1050px);max-height:95dvh;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.chat-image-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:22px;color:#154f83;padding:0 3px;font-weight:800}
#chat-lightbox-image{object-fit:contain;max-width:calc(98vw - 55px);max-height:calc(95dvh - 90px);width:auto;height:auto;border-radius:11px;background:#fff}
.chat-code-composer{background:#eff7ff;border:1px solid #a8ceee;border-radius:14px;margin:8px;padding:13px 15px;color:#1a4a75}
.chat-code-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-weight:900}
.chat-code-head span{font-size:12px;font-weight:500;color:#647b8d}
.chat-code-composer label{display:block;font-size:13px;font-weight:750;margin-bottom:7px}
#chat-code-input{display:block;width:100%;min-height:100px;border:1px solid #a5cae7;border-radius:10px;background:#fff;color:#1f2937;padding:12px;resize:vertical;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;tab-size:4}
.chat-code-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.chat-code-actions button{border:0;border-radius:10px;min-height:37px;padding:8px 14px;font-weight:800;cursor:pointer}
#code-send{background:#2b7fc1;color:#fff}
#code-cancel{background:#dce8f3;color:#2a536d}
#code-feedback{margin:6px 0 0;color:#205d87;font-size:12px}
.chat-code-message{width:min(650px,100%);margin:6px 0;overflow:hidden;border-radius:12px;border:1px solid #a9cce7;background:#f8fbff;color:#24384a}
.chat-code-message-header{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ddebfa;padding:7px 10px;font-weight:900;font-size:12px;color:#185485}
.chat-code-message-header button{background:#2b7fc1;color:#fff;border:0;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:800;cursor:pointer}
.chat-code-message pre{margin:0;padding:12px 13px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;overflow-x:auto;text-align:left;max-width:100%;tab-size:4}
.chat-code-copy-result{display:block;padding:0 10px 5px;font-size:11px;color:#16834b;min-height:3px}
@media(max-width:600px){.chat-permission-card{padding:17px}.chat-permission-card h2{font-size:21px}.chat-code-head{flex-direction:column;gap:2px}.chat-code-message{width:100%}}


/* v101 - barra de digitação com ícones WebP, links proibidos no chat público */
#media-image-open[hidden],#code-open[hidden],#rooms-open[hidden],#chat-voice-shortcut[hidden],#chat-send-shortcut[hidden],#chat-public-link-warning[hidden]{display:none!important}
#chat-media-toolbar:has(.media-tool:not([hidden])){display:none!important}
#message-form.composer{display:flex!important;align-items:center!important;gap:8px!important}
#message-form .message-input-shell{min-width:0!important;flex:1 1 auto!important}
#message-form .chat-composer-icon{padding:0!important;flex:0 0 50px!important;width:50px!important;height:50px!important;min-width:50px!important;display:grid!important;place-items:center!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:50%!important;cursor:pointer!important;transition:transform .12s ease!important}
#message-form .chat-composer-icon:hover{transform:scale(1.06)!important}
#message-form .chat-composer-icon:focus-visible{outline:3px solid #64aaff!important;outline-offset:2px!important}
#message-form .chat-composer-icon:disabled{opacity:.5!important;cursor:not-allowed!important}
#message-form .chat-composer-icon img{width:49px!important;height:49px!important;display:block!important;object-fit:contain!important;pointer-events:none!important}
.chat-public-link-warning{background:#fff2d9!important;border:1px solid #f1c782!important;border-radius:12px!important;color:#93570a!important;font-size:13px!important;font-weight:800!important;padding:10px 13px!important;margin:7px 0!important;line-height:1.4!important}
/* v101 - oscilograma da gravação / áudio compacto no fluxo do nickname */
.chat-media-preview .chat-recording-stage{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:min(500px,100%)!important}
#chat-live-waveform{width:100%!important;height:60px!important;display:block!important;background:#e4f2ff!important;border:1px solid #a6c9ec!important;border-radius:12px!important;padding:3px!important}
.chat-recording-indicator{justify-content:space-between!important}
.message-line.has-audio{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:7px!important;min-width:0!important}
.message-line.has-audio .msg-inline-name{flex:0 1 auto!important;min-width:0!important;max-width:45%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin:0!important}
.message-line.has-audio .msg-inline-body{display:inline-flex!important;align-items:center!important;min-width:0!important;flex:0 1 auto!important;white-space:normal!important;vertical-align:middle!important}
.message-line.has-audio .private-badge{flex:0 0 auto!important}
.chat-voice-player{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;gap:9px!important;width:clamp(170px,32vw,310px)!important;max-width:100%!important;min-width:0!important;min-height:37px!important;padding:5px 10px 5px 5px!important;margin:0!important;border-radius:24px!important;background:#dcffe0!important;border:1px solid #b1e8b9!important;box-shadow:0 1px 3px rgba(30,93,58,.08)!important;color:#275a3d!important;vertical-align:middle!important;white-space:nowrap!important}
.chat-voice-play{flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important;display:grid!important;place-items:center!important;padding:0!important;border:0!important;background:#f0fff3!important;color:#195537!important;border-radius:50%!important;font-size:12px!important;line-height:1!important;cursor:pointer!important}
.chat-voice-waves{display:flex!important;flex:1 1 auto!important;min-width:25px!important;height:30px!important;align-items:center!important;justify-content:space-between!important;gap:1px!important;cursor:pointer!important;outline-offset:3px!important}
.chat-voice-waves i{display:block!important;flex:1 1 2px!important;max-width:3px!important;min-width:1px!important;background:#a3cba9!important;border-radius:5px!important;transition:background-color .12s linear!important}
.chat-voice-waves i.is-played{background:#25a0df!important}
.chat-voice-duration{font-size:11px!important;font-variant-numeric:tabular-nums!important;font-weight:700!important;color:#41725b!important;white-space:nowrap!important;flex:0 0 auto!important}
.chat-voice-source{display:none!important}
@media(max-width:640px){.chat-voice-player{width:clamp(150px,39vw,255px)!important;gap:5px!important;padding-right:6px!important}.chat-voice-duration{font-size:10px!important}.chat-voice-waves{gap:0!important}.message-line.has-audio{gap:4px!important}}

#message-form #chat-voice-shortcut[hidden],#message-form #chat-send-shortcut[hidden]{display:none!important}
#media-pause-record[hidden]{display:none!important}
#media-pause-record{background:#236dba!important}

/* Ferramentas reposicionadas: ocultar a antiga barra por completo. */
#chat-media-toolbar{display:none!important}


/* v102 — controles de velocidade e prévia com o mesmo player do chat */
.chat-voice-player{gap:5px!important;padding:4px 7px 4px 5px!important;width:clamp(198px,34vw,325px)!important;min-height:37px!important}
.chat-voice-player .chat-voice-speed{display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border:1px solid #a8d9b2!important;border-radius:50%!important;background:#edfff1!important;color:#1e663b!important;font:800 10px Arial,Helvetica,sans-serif!important;line-height:1!important;cursor:pointer!important;white-space:nowrap!important}
.chat-voice-player .chat-voice-speed:hover{background:#d4f7dd!important}
.chat-voice-player .chat-voice-speed:focus-visible{outline:2px solid #277cd2!important;outline-offset:2px!important}
.chat-voice-player .chat-voice-duration{font-size:10px!important}
.chat-voice-player .chat-voice-waves{gap:1px!important}
#chat-media-preview .chat-voice-player.is-preview{width:min(100%,480px)!important;max-width:100%!important;margin:8px auto!important}
#chat-media-preview .chat-voice-player .chat-voice-duration{font-size:12px!important}
.chat-filter-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0 16px}
.chat-filter-columns label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:15px;color:#164b80}
.chat-filter-columns label small{font-size:12px;color:#657b91}
.chat-filter-columns textarea{width:100%;box-sizing:border-box;min-height:290px;padding:13px 14px;resize:vertical;background:#f8fbff;color:#263b4c;border:1px solid #a9c9e7;border-radius:13px;font:14px/1.6 ui-monospace,Consolas,monospace}
.chat-filter-columns textarea:focus{outline:3px solid #b8dcff;border-color:#3488cc}
.chat-filter-save{border:0;border-radius:12px;background:linear-gradient(180deg,#2782cc,#1267ab);color:white;font-weight:900;padding:11px 25px;cursor:pointer}
.chat-filter-blur{display:inline-block!important;filter:blur(2.2px)!important;user-select:none!important;pointer-events:none!important;white-space:nowrap!important;letter-spacing:0!important;color:#647b92!important}
@media(max-width:640px){.chat-filter-columns{grid-template-columns:minmax(0,1fr)}.chat-voice-player{width:clamp(177px,50vw,290px)!important;gap:3px!important;padding-right:4px!important}.chat-voice-player .chat-voice-speed{width:27px!important;min-width:27px!important;height:27px!important;flex-basis:27px!important;font-size:9px!important}}


/* v103 — gravador de voz embutido no compositor, baseado no fluxo do WhatsApp. */
#message-form.chat-recorder-active{display:flex!important;min-height:58px!important;width:100%!important;gap:0!important;align-items:stretch!important;background:transparent!important;padding:0!important;margin:0!important}
#message-form.chat-recorder-active > :not(#chat-media-composer){display:none!important}
#message-form.chat-recorder-active #chat-media-composer{display:flex!important;align-items:center!important;justify-content:stretch!important;gap:0!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:58px!important;margin:0!important;padding:4px 9px!important;border-radius:999px!important;border:1px solid #e1e5e9!important;background:#fff!important;box-shadow:0 2px 10px rgba(43,70,92,.07)!important;color:#1c2d3b!important;box-sizing:border-box!important}
#message-form.chat-recorder-active .chat-media-preview{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:100%!important;min-height:43px!important;gap:0!important;font-size:14px!important}
#message-form.chat-recorder-active .chat-media-controls{display:none!important}
#message-form.chat-recorder-active .chat-media-feedback{display:none!important}
#message-form.chat-recorder-active .chat-inline-recorder,
#message-form.chat-recorder-active .chat-inline-preview{display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;min-width:0!important;min-height:44px!important}
#message-form .chat-inline-trash,#message-form .chat-inline-stop,#message-form .chat-inline-pause{display:inline-grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#323b42!important;font-size:20px!important;font-weight:800!important;cursor:pointer!important}
#message-form .chat-inline-trash:hover,#message-form .chat-inline-stop:hover,#message-form .chat-inline-pause:hover{background:#eef3f7!important}
#message-form .chat-inline-stop{color:#64748b!important;font-size:17px!important}
#message-form .chat-inline-pause{color:#b80d4f!important;font-size:23px!important}
#message-form .chat-inline-send{display:grid!important;place-items:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px!important;margin:0 0 0 auto!important;padding:0!important;border:0!important;border-radius:50%!important;background:#12b65d!important;cursor:pointer!important;overflow:hidden!important}
#message-form .chat-inline-send img{display:block!important;width:47px!important;height:47px!important;object-fit:cover!important;filter:brightness(0) invert(1)!important;transform:scale(.58)!important;pointer-events:none!important}
#message-form .chat-inline-send:disabled{opacity:.55!important;cursor:progress!important}
#message-form .chat-inline-recorder .chat-recording-dot{flex:0 0 12px!important;width:12px!important;height:12px!important;margin:0!important;box-shadow:none!important;background:#cc0950!important}
#message-form #chat-recording-timer{display:inline-block!important;flex:0 0 auto!important;min-width:36px!important;font-size:19px!important;color:#222!important;font-weight:500!important;font-variant-numeric:tabular-nums!important}
#message-form #chat-live-waveform{display:block!important;flex:1 1 auto!important;min-width:20px!important;height:36px!important;width:100%!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;object-fit:fill!important}
#message-form .chat-inline-preview .chat-inline-audio-player{display:flex!important;flex:1 1 auto!important;min-width:0!important}
#message-form .chat-inline-preview .chat-voice-player.is-preview{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
#message-form .chat-inline-wait{flex:1!important;min-width:0!important;color:#164d7b!important;font-size:14px!important;font-weight:700!important;padding:0 12px!important}
#message-form .chat-media-preview.is-paused .chat-recording-dot{animation:none!important;opacity:.4!important}
#message-form .chat-inline-recorder button:focus-visible,#message-form .chat-inline-preview button:focus-visible{outline:3px solid #4aaaff!important;outline-offset:1px!important}
@media (max-width:650px){
  #message-form.chat-recorder-active #chat-media-composer{padding:4px 5px!important}
  #message-form.chat-recorder-active .chat-inline-recorder,
  #message-form.chat-recorder-active .chat-inline-preview{gap:4px!important}
  #message-form .chat-inline-trash,#message-form .chat-inline-stop,#message-form .chat-inline-pause{flex-basis:30px!important;width:30px!important;min-width:30px!important;height:33px!important;font-size:17px!important}
  #message-form #chat-recording-timer{min-width:30px!important;font-size:15px!important}
  #message-form .chat-inline-send{flex-basis:42px!important;width:42px!important;height:42px!important;min-width:42px!important}
  #message-form .chat-inline-send img{width:42px!important;height:42px!important}
}
@media(max-width:360px){#message-form .chat-inline-stop{display:none!important}}


/* v104 — gravação compacta à direita, no estilo do player do WhatsApp. */
#message-form.chat-recorder-active #chat-media-composer {
    background:#fff!important;border:1px solid #e7e7e7!important;
    border-radius:999px!important;padding:5px 7px 5px 13px!important;
    min-height:65px!important;height:65px!important;
    box-shadow:0 3px 14px rgba(40,54,73,.06)!important;
}
#message-form.chat-recorder-active .chat-media-preview { min-height:52px!important;overflow:hidden!important }
#message-form.chat-recorder-active .chat-inline-recorder,
#message-form.chat-recorder-active .chat-inline-preview { gap:12px!important;min-height:52px!important;justify-content:flex-end!important }
#message-form.chat-recorder-active .chat-inline-recorder::before,
#message-form.chat-recorder-active .chat-inline-preview::before { content:'';display:block;flex:1 1 auto;min-width:0 }
#message-form.chat-recorder-active .chat-inline-recorder button,
#message-form.chat-recorder-active .chat-inline-preview button { transition:background .15s,transform .15s!important }
#message-form.chat-recorder-active .chat-inline-trash,
#message-form.chat-recorder-active .chat-inline-pause,
#message-form.chat-recorder-active .chat-inline-stop {
    display:grid!important;place-items:center!important;
    flex:0 0 35px!important;width:35px!important;min-width:35px!important;height:36px!important;
    padding:0!important;margin:0!important;background:transparent!important;color:#161616!important;
    border-radius:50%!important;line-height:1!important;
}
#message-form.chat-recorder-active .chat-inline-trash svg,
#message-form.chat-recorder-active .chat-inline-pause svg,
#message-form.chat-recorder-active .chat-inline-stop svg { display:block;max-width:100%;pointer-events:none }
#message-form.chat-recorder-active .chat-inline-stop {color:#101010!important}
#message-form.chat-recorder-active .chat-inline-pause {color:#ba0b48!important}
#message-form.chat-recorder-active .chat-recording-dot { flex:0 0 11px!important;width:11px!important;height:11px!important;border-radius:50%!important;background:#be0a45!important }
#message-form.chat-recorder-active #chat-recording-timer { flex:0 0 auto!important;font-size:20px!important;font-weight:500!important;color:#131313!important;min-width:46px!important;font-variant-numeric:tabular-nums }
#message-form.chat-recorder-active #chat-live-waveform {
    flex:0 1 180px!important;width:180px!important;min-width:70px!important;max-width:180px!important;
    height:38px!important;object-fit:fill!important;align-self:center!important;
}
#message-form.chat-recorder-active .chat-inline-send {
    display:grid!important;place-items:center!important;
    flex:0 0 49px!important;width:49px!important;min-width:49px!important;height:49px!important;
    border-radius:50%!important;background:#121212!important;color:white!important;
    margin:0!important;border:0!important;overflow:visible!important;
    cursor:pointer!important;box-shadow:none!important;
}
#message-form.chat-recorder-active .chat-inline-send svg {display:block!important;width:25px!important;height:25px!important;fill:#fff!important;pointer-events:none!important}
#message-form.chat-recorder-active .chat-inline-send:hover:not(:disabled){background:#303030!important;transform:scale(1.035)}
#message-form.chat-recorder-active .chat-inline-audio-player { flex:0 1 385px!important;width:min(385px,48vw)!important;max-width:385px!important;min-width:120px!important }
#message-form.chat-recorder-active .chat-inline-preview .chat-voice-player.is-preview {max-width:100%!important;min-width:0!important;width:100%!important}
@media(max-width:680px){
  #message-form.chat-recorder-active #chat-media-composer {padding:4px 5px!important;min-height:57px!important;height:57px!important}
  #message-form.chat-recorder-active .chat-inline-recorder,
  #message-form.chat-recorder-active .chat-inline-preview {gap:5px!important;min-height:46px!important}
  #message-form.chat-recorder-active .chat-inline-trash,
  #message-form.chat-recorder-active .chat-inline-stop,
  #message-form.chat-recorder-active .chat-inline-pause {flex-basis:30px!important;width:30px!important;min-width:30px!important;height:34px!important}
  #message-form.chat-recorder-active #chat-recording-timer {font-size:16px!important;min-width:34px!important}
  #message-form.chat-recorder-active #chat-live-waveform {flex:1 1 62px!important;width:auto!important;min-width:30px!important;max-width:125px!important}
  #message-form.chat-recorder-active .chat-inline-send {flex-basis:43px!important;width:43px!important;min-width:43px!important;height:43px!important}
  #message-form.chat-recorder-active .chat-inline-audio-player {flex:1 1 auto!important;min-width:105px!important;width:auto!important}
}
@media(max-width:390px){
  #message-form.chat-recorder-active .chat-inline-recorder,
  #message-form.chat-recorder-active .chat-inline-preview {gap:3px!important}
  #message-form.chat-recorder-active #chat-live-waveform {min-width:25px!important}
  #message-form.chat-recorder-active .chat-inline-recorder::before,
  #message-form.chat-recorder-active .chat-inline-preview::before{display:none!important}
}


/* v105 — Balões do chat: todos à esquerda, mensagem própria verde, demais brancas.
   Mantemos nome, formatação, status, áudio e PM; sem horários e sem tiques. */
.messages {
  --bubble-in:#ffffff;
  --bubble-mine:#d9facd;
  --bubble-border:rgba(55,78,64,.14);
  --bubble-text:#24312d;
  --conversation-wallpaper:#efece4;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
  padding:19px 22px!important;
  color:var(--bubble-text)!important;
  background-color:var(--conversation-wallpaper)!important;
  background-image:
    radial-gradient(circle at 16px 19px,rgba(91,125,106,.060) 1.5px,transparent 2px),
    radial-gradient(circle at 49px 51px,rgba(91,125,106,.050) 1.5px,transparent 2px),
    linear-gradient(25deg,transparent 47%,rgba(87,123,100,.035) 49%,rgba(87,123,100,.035) 51%,transparent 53%)!important;
  background-size:73px 74px,103px 90px,122px 135px!important;
}
.messages .message.message-line,
.messages .message.message-line.me,
.messages .message.message-line.private-message {
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  align-self:flex-start!important;
  flex:none!important;
  width:fit-content!important;
  min-width:58px!important;
  max-width:min(740px,calc(100% - 17px))!important;
  margin:1px 0 1px 8px!important;
  padding:9px 13px 10px!important;
  background:var(--bubble-in)!important;
  color:var(--bubble-text)!important;
  border:1px solid var(--bubble-border)!important;
  border-radius:7px 13px 13px 13px!important;
  box-shadow:0 1px 2px rgba(24,35,31,.10)!important;
  line-height:1.5!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  opacity:1!important;
}
.messages .message.message-line.me {
  background:var(--bubble-mine)!important;
  border-color:rgba(55,125,67,.12)!important;
}
.messages .message.message-line::before {
  position:absolute;
  left:-8px;
  top:-1px;
  content:"";
  width:0;
  height:0;
  border-top:10px solid var(--bubble-in);
  border-left:8px solid transparent;
  filter:drop-shadow(-1px 0 rgba(40,61,46,.075));
}
.messages .message.message-line.me::before{border-top-color:var(--bubble-mine)}
.messages .message.message-line.private-message:not(.me){background:#fff7ec!important;border-left:3px solid #f2a55c!important}
.messages .message.message-line.private-message:not(.me)::before{border-top-color:#fff7ec}
.messages .message.message-line .msg-inline-name{
  display:inline!important;
  margin-right:5px!important;
  line-height:1.5!important;
  vertical-align:baseline!important;
}
.messages .message.message-line .msg-inline-body{
  display:inline!important;
  color:var(--bubble-text)!important;
  line-height:1.5!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  vertical-align:baseline!important;
}
.messages .message.message-line.has-audio{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  max-width:calc(100% - 17px)!important;
  min-width:0!important;
}
.messages .message.message-line.has-audio .msg-inline-name{
  display:inline-block!important;
  flex:0 1 auto!important;
  max-width:42%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.messages .message.message-line.has-audio .msg-inline-body{
  display:inline-flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  white-space:normal!important;
  align-items:center!important;
}
.messages .message.message-line.has-audio .chat-voice-player{
  max-width:100%!important;
  width:clamp(165px,31vw,300px)!important;
  min-width:0!important;
}
.messages .message.message-line .chat-filter-blur.chat-filter-pixels{
  position:relative!important;
  display:inline-block!important;
  width:75px!important;
  height:19px!important;
  min-height:19px!important;
  margin:0 2px!important;
  vertical-align:-4px!important;
  border-radius:2px!important;
  background-color:#d5d5d5!important;
  background-image:repeating-conic-gradient(#555 0% 25%,#9c9c9c 0% 50%,#dedede 0% 75%,#777 0%)!important;
  background-size:11px 9px!important;
  filter:blur(2.3px)!important;
  user-select:none!important;
  pointer-events:none!important;
  font-size:0!important;
  overflow:hidden!important;
}
.messages .message.message-line .chat-filter-pixels > span{font-size:0!important;color:transparent!important}
.messages .message.message-line .private-reply-btn{margin-left:7px!important}
.messages .system-message{align-self:center!important}
@media(max-width:640px){
  .messages{padding:12px 11px!important;gap:6px!important}
  .messages .message.message-line,
  .messages .message.message-line.me{max-width:calc(100% - 12px)!important;margin-left:8px!important;padding:8px 10px!important}
  .messages .message.message-line.has-audio .chat-voice-player{width:clamp(148px,46vw,260px)!important}
}

/* Tema escuro: acompanha o prefers-color-scheme, que o MultiZap configura
   pelo nativeTheme.themeSource quando o usuário muda o tema no app. */



/* v106 - contraste de nicknames no tema escuro e rótulo da cor apenas ao expandir */
.color-palette:not(.open) .color-palette-label{
  display:none!important;
}
.composer-tools .color-palette:not(.open){
  min-width:44px!important;
  max-width:44px!important;
  width:44px!important;
  padding:0!important;
  justify-content:center!important;
  gap:0!important;
}
.composer-tools .color-palette:not(.open) .color-swatch.active{
  margin:0!important;
}
.composer-tools .color-palette.open .color-palette-label{
  display:inline-flex!important;
}


/* v107 — Só o painel de mensagens responde ao tema escuro do MultiZap.
   Área de usuários, cabeçalho, ferramentas, entrada e gravador mantêm o tema claro. */
@media (prefers-color-scheme: dark) {
  /* Os tokens dos balões pertencem somente à conversa. */
  body:not(.admin-body) .messages {
    --bubble-in:#263b48;
    --bubble-mine:#174f41;
    --bubble-border:rgba(168,197,205,.14);
    --bubble-text:#e6f2f3;
    --conversation-wallpaper:#0d2029;
    background-color:#0d2029!important;
    background-image:
      radial-gradient(circle at 16px 19px,rgba(149,182,166,.055) 1.5px,transparent 2px),
      radial-gradient(circle at 49px 51px,rgba(149,182,166,.05) 1.5px,transparent 2px),
      linear-gradient(25deg,transparent 47%,rgba(149,182,166,.03) 49%,rgba(149,182,166,.03) 51%,transparent 53%)!important;
    border-color:#2b414b!important;
  }
  .messages .message.message-line.private-message:not(.me){
    background:#463a30!important;
    border-color:#bd814d!important;
  }
  .messages .message.message-line.private-message:not(.me)::before{
    border-top-color:#463a30!important;
  }
  .messages .message.message-line .private-badge{background:#694d32!important;color:#ffe0b0!important}
  .messages .message.message-line .msg-inline-body{color:#e6f2f3!important}
  .messages .message.message-line .name.role-normal{color:#eaf3f4!important}
  .messages .message.message-line .name.role-admin{color:#ff8a8a!important}
  .messages .message.message-line .name.role-moderador{color:#ffb67f!important}
  .messages .message.message-line .name.role-amigo{color:#a7b6ff!important}
  .messages .message.message-line .chat-voice-player{background:#203d37!important;border-color:#446457!important}
  .messages .message.message-line .chat-voice-duration{color:#cef0d7!important}
  .messages .message.message-line .chat-voice-speed{background:#285442!important;color:#dafce8!important;border-color:#4b8569!important}
  .messages .message.message-line .chat-voice-play{background:#27604e!important;color:#ebfff3!important}
  .messages .system-message{background:#254052!important;color:#d7edfc!important;border-color:#49667b!important}
}

/* v107 — neutralização preventiva para elementos que herdam o esquema nativo. */
@media (prefers-color-scheme: dark) {
  body:not(.admin-body),
  body:not(.admin-body) .chat-shell {color-scheme:light!important}
  body:not(.admin-body) .sidebar {background:linear-gradient(180deg,#f2f9ff 0,#dff0ff 100%)!important;color:#0f172a!important;border-color:#9fc7e8!important}
  body:not(.admin-body) .sidebar .online-name,
  body:not(.admin-body) .messages .msg-inline-name,
  body:not(.admin-body) .me-profile-name,
  body:not(.admin-body) .name {
    -webkit-text-stroke:0!important;
    text-shadow:none!important;
  }
  body:not(.admin-body) .sidebar .online-title span{color:#0f3f73!important}
  body:not(.admin-body) .sidebar .role-normal .online-name {color:#0f172a!important}
  body:not(.admin-body) .composer-wrap {background:#102739!important;border-top-color:#27475d!important}
  body:not(.admin-body) .composer-tools .color-palette-label {color:#e4eef6!important}
  body:not(.admin-body) .composer-tools .format-select,
  body:not(.admin-body) .composer-tools .format-btn,
  body:not(.admin-body) .composer-tools .tool-btn {color:#e4eef6!important;background:#193246!important;border-color:#30506b!important}
  body:not(.admin-body) .message-input-shell {background:#ffffff!important}
  body:not(.admin-body) .composer #message-input {background:transparent!important}
  body:not(.admin-body) .chat-media-toolbar {background:transparent!important}
  body:not(.admin-body) #chat-media-toolbar .media-tool {background:#193246!important;color:#e4eef6!important;border-color:#30506b!important}
  body:not(.admin-body) .composer .message-input-preview {background:transparent!important;color:#0e497b!important}
  body:not(.admin-body) #message-form.chat-recorder-active #chat-media-composer,
  body:not(.admin-body) #chat-media-preview .chat-voice-player {background:#ffffff!important}
  body:not(.admin-body) #message-form.chat-recorder-active #chat-recording-timer,
  body:not(.admin-body) #message-form.chat-recorder-active .chat-inline-trash,
  body:not(.admin-body) #message-form.chat-recorder-active .chat-inline-stop {color:#161616!important}
}


/* v108 — botão de microfone nas ferramentas e janela de configuração de áudio */
.mic-settings-btn{width:50px!important;height:42px!important;min-width:50px!important;padding:0!important;border-radius:11px!important;background:#f5fbff!important;border:1px solid #8fc1e9!important;box-shadow:0 2px 8px rgba(15,63,115,.10)!important}
.mic-settings-btn img{display:block!important;width:22px!important;height:22px!important;object-fit:contain!important}
.mic-settings-btn:hover{background:#e5f3ff!important}
.chat-audio-settings-card{width:min(500px,100%)!important}
.chat-audio-settings-box{margin:8px 0 14px!important;padding:14px!important;border-radius:18px!important;background:#edf4ff!important;border:1px solid #d9e4f7!important}
.chat-audio-settings-head{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin-bottom:12px!important;font-size:14px!important;font-weight:900!important;color:#31455f!important}
.chat-audio-meter{display:flex!important;align-items:center!important;height:14px!important;padding:0 10px!important;border-radius:999px!important;background:#ffffff!important;border:1px solid #c9d6ee!important;overflow:hidden!important;margin-bottom:14px!important}
#chat-audio-meter-fill{display:block!important;width:0;height:8px!important;border-radius:999px!important;background:linear-gradient(90deg,#216bdd,#2d7dff)!important;transition:width .12s linear!important}
.chat-audio-field{display:grid!important;gap:6px!important;margin:0 0 12px!important}
.chat-audio-field:last-child{margin-bottom:0!important}
.chat-audio-field span{font-size:13px!important;font-weight:900!important;color:#294867!important}
.chat-audio-field select{width:100%!important;min-height:48px!important;padding:0 14px!important;border:2px solid #2d6cdf!important;border-radius:12px!important;background:#ffffff!important;color:#123a62!important;font-size:14px!important;font-weight:700!important;outline:none!important}
.chat-audio-field select:disabled{opacity:.65!important;cursor:not-allowed!important}
.chat-audio-settings-actions{justify-content:space-between!important}
#chat-audio-settings-dismiss{background:#d9e5f7!important;color:#2d4d6a!important}
#chat-audio-settings-allow{background:#d8e5ff!important;color:#1d3d66!important;min-width:240px!important}
#chat-audio-settings-allow:hover{background:#c8dafd!important}
.chat-audio-settings-feedback{margin:10px 0 0!important;min-height:18px!important;font-size:13px!important;color:#2f5d86!important;font-weight:700!important}
#message-form .chat-inline-send{background:transparent!important;box-shadow:none!important;border-radius:50%!important}
#message-form .chat-inline-send img{width:46px!important;height:46px!important;object-fit:contain!important;filter:none!important;transform:none!important}
#message-form.chat-recorder-active .chat-inline-send{background:transparent!important;box-shadow:none!important}
#message-form.chat-recorder-active .chat-inline-send img{display:block!important;width:46px!important;height:46px!important;object-fit:contain!important;filter:none!important;transform:none!important}
#message-form.chat-recorder-active .chat-inline-send svg{display:none!important}
@media(max-width:460px){#chat-audio-settings-allow{min-width:0!important;width:100%!important}.chat-audio-settings-actions{flex-direction:column-reverse!important;align-items:stretch!important}#message-form.chat-recorder-active .chat-inline-send img,#message-form .chat-inline-send img{width:43px!important;height:43px!important}}


/* v109 — um modal fechado precisa permanecer fechado, apesar do display:grid
   usado no tema. A regra ausente era a causa do travamento visual na v108. */
#chat-audio-settings[hidden],
.chat-audio-settings[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
#chat-audio-settings:not([hidden]){display:grid!important;visibility:visible!important;pointer-events:auto!important}
#chat-audio-settings .chat-permission-card{max-height:calc(100dvh - 32px)!important;overflow-y:auto!important}
#chat-audio-settings-close, #chat-audio-settings-dismiss{cursor:pointer!important}
#chat-audio-settings-close{font-size:26px!important;line-height:1!important}


/* v110 — o contêiner do campo mantém as mesmas curvas no tema claro/escuro */
#message-form .message-input-shell,
body:not(.admin-body) #message-form .message-input-shell {
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  isolation:isolate;
  box-sizing:border-box!important;
}
#message-form .message-input-shell #message-input,
#message-form .message-input-shell .message-input-preview {
  border-radius:18px!important;
  box-sizing:border-box!important;
}
#message-form .message-input-shell #message-input{border:1px solid #a9cbed!important}
#message-form .message-input-shell .message-input-preview{border:1px solid #a9cbed!important}
@media (prefers-color-scheme: dark) {
  body:not(.admin-body) #message-form .message-input-shell {
    background:#fff!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  body:not(.admin-body) #message-form .message-input-shell .message-input-preview,
  body:not(.admin-body) #message-form .message-input-shell #message-input {
    border-radius:18px!important;
  }
}
/* v110 — medidor real: a largura é escrita pelo JavaScript e NÃO pode ter !important. */
#chat-audio-meter{height:20px!important;padding:3px!important;box-sizing:border-box!important;background:#f3f7ff!important;border:1px solid #a4c5e8!important}
#chat-audio-meter-fill{width:0;height:100%!important;min-height:9px!important;max-width:100%!important;background:linear-gradient(90deg,#226ae6,#03a9f4)!important;transition:width .09s ease!important}
.chat-audio-live-status{display:flex!important;align-items:center!important;gap:7px!important;margin:1px 0 13px!important;color:#285377!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important}
.chat-audio-live-dot{width:9px!important;height:9px!important;flex:0 0 9px!important;border-radius:50%!important;background:#a8bac8!important;transition:background .2s!important}
#chat-audio-live-text{flex:1!important}
#chat-audio-live-percent{font-variant-numeric:tabular-nums!important;font-size:12px!important;min-width:35px!important;text-align:right!important;color:#1d5a96!important}
.chat-audio-live-status.is-active .chat-audio-live-dot{background:#18a46c!important}
.chat-audio-live-status.is-speaking .chat-audio-live-dot{background:#1e6cf0!important;box-shadow:0 0 0 4px rgba(30,108,240,.1)!important}
.chat-audio-live-status.is-error .chat-audio-live-dot{background:#df3948!important}


/* v111 — mensagens privadas em áudio com o player personalizado WebM. */
.modal-private-card .pm-voice-toolbar {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:15px 0 6px!important;color:#315e85!important;font-size:13px!important;font-weight:800!important}
.modal-private-card #pm-voice-start {min-height:42px!important;background:#277cc6!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:8px 13px!important;font-weight:900!important;cursor:pointer!important}
.modal-private-card .pm-voice-stage[hidden] {display:none!important}
.modal-private-card .pm-voice-stage {display:block!important;margin:7px 0 0!important;width:100%!important;min-width:0!important}
.modal-private-card .pm-voice-recording,.modal-private-card .pm-voice-review {display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;border:1px solid #cde3f3!important;border-radius:999px!important;padding:5px 7px!important;background:#ffffff!important;box-sizing:border-box!important}
.modal-private-card .pm-voice-icon {display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:34px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#303b46!important;cursor:pointer!important;font-size:19px!important}
.modal-private-card .pm-voice-icon:hover {background:#edf5fe!important}
.modal-private-card .chat-recording-dot {flex:0 0 10px!important;width:10px!important;height:10px!important;background:#cc1353!important}
.modal-private-card #pm-voice-timer {font-size:16px!important;color:#223547!important;font-weight:700!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.modal-private-card .pm-voice-waveform {display:block!important;flex:1 1 auto!important;min-width:20px!important;width:100%!important;height:34px!important}
.modal-private-card .pm-voice-send {display:grid!important;place-items:center!important;flex:0 0 43px!important;width:43px!important;height:43px!important;border:0!important;border-radius:50%!important;padding:0!important;background:transparent!important;cursor:pointer!important}
.modal-private-card .pm-voice-send img {display:block!important;width:43px!important;height:43px!important;object-fit:contain!important}
.modal-private-card .pm-voice-send:disabled {opacity:.55!important;cursor:wait!important}
.modal-private-card .pm-voice-player {flex:1 1 auto!important;min-width:0!important}
.modal-private-card .pm-voice-player .chat-voice-player {width:100%!important;min-width:0!important;max-width:none!important;margin:0!important}
.modal-private-card .pm-voice-notice {min-height:16px!important;margin:5px 0!important;color:#2e668b!important;font-size:12px!important;font-weight:800!important}
.modal-private-card .pm-voice-notice.error {color:#bf1f35!important}
@media (max-width:560px) {.modal-private-card .pm-voice-recording,.modal-private-card .pm-voice-review{gap:3px!important;padding:4px!important}.modal-private-card .pm-voice-icon{width:26px!important;flex-basis:26px!important;font-size:16px!important}.modal-private-card .pm-voice-send,.modal-private-card .pm-voice-send img{width:37px!important;height:37px!important;flex-basis:37px!important}.modal-private-card .pm-voice-player .chat-voice-player{gap:2px!important}}
