: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)}.admin-notice.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35)}.admin-notice.error{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}.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 - PRO, 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 PRO */
.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 - PRO 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:'PRO'!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:'PRO'!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:'PRO'!important;
}


/* v58 - PRO 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 PRO, 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:'👑 PRO'!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}
}
