/* Bride Era R14.7.102 — UX mobile, troca de ambiente e ações destrutivas seguras. */

/* O launcher flutuante não pode cobrir o botão Enviar do próprio chat. */
body.assistente-chat-aberto .assistente-bt{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:scale(.72)!important;
}
.assistente-janela:not(.hidden) .assistente-form,
.assistente-janela:not(.hidden) form{position:relative;z-index:3}

/* Convidados: regra do nome usado pelo RSVP público. */
.r147102-guest-name-note{
  display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;padding:13px 15px;
  border:1px solid color-mix(in srgb,var(--rose-400,#b97674) 28%,transparent);
  border-radius:16px;background:color-mix(in srgb,var(--blush-50,#fff8f6) 86%,white);
}
.r147102-guest-name-note>span{font-size:1.25rem;line-height:1.25}
.r147102-guest-name-note b,.r147102-guest-name-note small{display:block}
.r147102-guest-name-note small{margin-top:3px;color:var(--muted-600);line-height:1.45}

/* Trocar ambiente — lista real de clientes, não pilha de botões soltos. */
.r147102-switcher{display:grid;gap:14px}
.r147102-pro-workspace,.r147102-wedding-item{
  width:100%;border:1px solid var(--line);font-family:inherit;text-align:left;cursor:pointer
}
.r147102-pro-workspace{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:15px;border-radius:18px;background:linear-gradient(135deg,var(--blush-50,#fff7f4),#fff);
  color:var(--ink-900);
}
.r147102-pro-workspace.active{background:linear-gradient(135deg,#8d5356,#b3726d);color:white;border-color:transparent}
.r147102-pro-workspace>span{font-size:1.35rem}.r147102-pro-workspace b,.r147102-pro-workspace small{display:block}
.r147102-pro-workspace small{margin-top:2px;opacity:.72}.r147102-pro-workspace em{font-style:normal;font-size:.7rem;font-weight:700;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18)}
.r147102-pro-workspace i,.r147102-wedding-item i{font-style:normal;font-size:1.1rem}
.r147102-wedding-box{border:1px solid var(--line);border-radius:20px;background:var(--white,#fff);overflow:hidden}
.r147102-wedding-box>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);background:var(--paper,#fffdfb)}
.r147102-wedding-box>header b{display:block;margin-top:2px}
.r147102-wedding-box .eyebrow{font-size:.62rem}
.r147102-wedding-list{display:grid;gap:8px;padding:10px;max-height:min(48dvh,460px);overflow:auto}
.r147102-wedding-item{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:12px;border-radius:15px;background:#fff;color:var(--ink-900)
}
.r147102-wedding-item:hover{border-color:var(--rose-300);background:var(--blush-50)}
.r147102-wedding-item.active{border-color:var(--rose-500);box-shadow:0 0 0 2px color-mix(in srgb,var(--rose-300) 28%,transparent)}
.r147102-wedding-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--blush-100)}
.r147102-wedding-item b,.r147102-wedding-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r147102-wedding-item small{margin-top:2px;color:var(--muted-600);font-size:.72rem}
.r147102-wedding-item em{font-style:normal;color:var(--rose-700);font-size:.68rem;font-weight:800;background:var(--blush-100);padding:5px 7px;border-radius:999px}
.r147102-wedding-empty{padding:24px;text-align:center;color:var(--muted-600)}
.r147102-wedding-empty span,.r147102-wedding-empty b,.r147102-wedding-empty small{display:block}.r147102-wedding-empty span{font-size:1.5rem}.r147102-wedding-empty small{margin-top:4px}

/* Ações de exclusão de conversa/notificação. */
.r147102-danger-btn{color:var(--danger-600,#a64040)!important}
.r147102-chat-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.r147102-notif-delete{border:0;background:transparent;color:var(--danger-600,#a64040);cursor:pointer;width:32px;height:32px;border-radius:10px}
.r147102-notif-delete:hover{background:#fff1f0}
.r147102-admin-places .r147102-place-status{display:flex;align-items:center;gap:8px;margin-top:10px}
.r147102-admin-places .r147102-place-dot{width:10px;height:10px;border-radius:50%;background:#c8c0bd}
.r147102-admin-places .r147102-place-dot.ok{background:#3aa674}.r147102-admin-places .r147102-place-dot.err{background:#c85353}

@media(max-width:820px){
  .r147102-guest-name-note{padding:12px;margin-bottom:10px}
  .r147102-wedding-list{max-height:46dvh}
  .r147102-pro-workspace,.r147102-wedding-item{min-height:64px}
}
