@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;650;700;750;800&display=swap');
/* Noche redonda: text-only identity, circular controls and shared surfaces. */
:root{font-family:'Nunito Sans',system-ui,sans-serif;background:#171b1d;color:#f3f5ef}
body,body.dark{--purple:#c8ee83;--accent:#c8ee83;--ink:#f3f5ef;--muted:#aab4b8;--panel:#171b1d;--line:#2a3336;--canvas:#121719;--out:#2d3924;--selected:#222b20;--field:#22292c;--on-accent:#17200c;color:var(--ink);background:var(--panel);color-scheme:dark}
body{font-family:'Nunito Sans',system-ui,sans-serif}button,input,textarea,select{font-family:inherit}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
button:hover{filter:none;background-color:var(--selected)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.app{grid-template-columns:76px 380px minmax(0,1fr)}
.rail{background:var(--canvas);border-right:1px solid var(--line);padding:32px 12px;gap:16px;color:var(--muted)}.rail button{width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.rail .rail-active{background:var(--selected);color:var(--accent)}.rail .me{border:0;background:transparent;color:var(--muted)}.rail-bottom{gap:16px}
.sidebar{background:var(--panel)}.side-head{padding:24px 26px 18px;flex-shrink:0}.brand{display:flex;align-items:baseline;font-size:35px;font-weight:800;letter-spacing:-1.6px;line-height:1.2;color:var(--ink)}.brand span{color:var(--accent);font-weight:750}.new,body.dark .new{width:48px;height:48px;border-radius:50%;margin:0;background:var(--accent);color:var(--on-accent)}.new:hover{background:var(--accent);filter:brightness(.93)}
.eyebrow{font-size:0.875rem;letter-spacing:2px;font-weight:600;color:var(--muted)}h1{display:block;margin:9px 0 0;font-size:32px;font-weight:800;letter-spacing:-1.25px;line-height:1.2}h1>span{color:var(--accent)}
.search,body.dark .search{background:var(--field);border:1px solid var(--line);border-radius:99px;margin:0 26px 12px;padding:14px 17px;gap:12px;flex-shrink:0;color:var(--muted)}.search svg{width:21px;height:21px}.search input{font-size:1.125rem;color:var(--ink)}.search input::placeholder{color:var(--muted);opacity:1}.search kbd{display:none}.search:focus-within{border-color:var(--accent)}
.tabs{padding:0 26px 12px;gap:9px;border-bottom:1px solid var(--line);flex-shrink:0}.tabs button{border:1px solid var(--line);border-radius:99px;padding:10px 15px;font-size:0.9375rem;color:var(--muted);font-weight:600}.tabs .active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:750}.tabs .active:after{display:none}.tabs span,.dark .tabs span{background:transparent;color:inherit;margin-left:3px;padding:0;font-size:0.875rem}#total:empty{display:none}
.chats{padding:5px 24px 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat{border-bottom:1px solid var(--line);border-radius:0;padding:22px 0;margin:0;gap:14px}.chat.selected{background:transparent}.chat:hover{background:var(--selected);border-radius:18px}.chat.selected .avatar{box-shadow:0 0 0 2px var(--accent)}.avatar{width:50px;height:50px;border-radius:50%!important;background:var(--selected)!important;color:var(--accent)!important;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);font-weight:750;font-size:1.3125rem}.chat-copy{min-width:0}.chat-name{font-size:1.1875rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-line{gap:10px}.time{color:var(--muted);font-size:0.875rem;white-space:nowrap}.snippet{font-size:1rem;color:var(--muted);margin-top:6px;max-width:none;padding-right:4px}.badge{display:grid;place-items:center;min-width:22px;height:22px;padding:2px 6px;border-radius:99px;font-size:0.875rem;background:var(--accent);color:var(--on-accent);font-weight:800;margin:5px 0 0 8px}.draft-label{color:var(--accent)}
.contacts-entry{margin:8px 24px 0;padding:16px 0;background:transparent;color:var(--accent);display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:700;border-radius:24px;flex-shrink:0}.contacts-entry>span{flex:1;text-align:left}.contacts-entry .chevron{width:18px;color:var(--muted)}.contacts-entry:hover{background:var(--selected)}
.install-app{margin:0 24px 8px;background:transparent;border:1px solid var(--line);border-radius:99px;text-align:center;padding:9px 14px;font-size:0.875rem;color:var(--muted)}.side-footer{border-top:0;padding:6px 25px 14px;font-size:0.875rem;color:var(--muted);flex-shrink:0}.side-footer>span:last-child{color:var(--muted);font-size:0.875rem}.mobile-nav{display:none}
.chat-header{background:var(--panel);border-color:var(--line);height:84px;padding-inline:28px}.identity{min-width:0;flex:1;overflow:hidden}.identity strong{font-size:1.1875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.identity span{font-size:0.875rem;color:var(--muted)}.header-actions{gap:6px}.icon{width:42px;height:42px;border-radius:50%;color:var(--muted)}.header-actions .icon{color:var(--muted)}
.conversation{background:var(--canvas)}.pinned{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:22px;margin:20px 28px 0;padding:13px 17px;color:var(--accent);flex-shrink:0}.pinned div{border:0;padding-left:0;min-width:0}.pinned strong{color:var(--accent);font-size:0.9375rem}.pinned small{color:var(--muted);font-size:0.875rem;line-height:1.5}.pinned>svg{width:21px}
.messages{background-image:none;padding:24px max(28px,calc((100% - 760px)/2));scrollbar-width:thin;scrollbar-color:var(--line) transparent}.day,body.dark .day{background:var(--field);color:var(--muted);font-size:0.875rem}.bubble{background:var(--panel);border:1px solid var(--line);border-radius:23px 23px 23px 8px;padding:13px 16px 10px;font-size:1.125rem;line-height:1.55;box-shadow:none}.mine .bubble{background:var(--out);border-radius:23px 23px 8px 23px}.bubble .author,.msg-actions,.reply-quote strong,.reply-context strong{color:var(--accent)}.msg-meta,.delete-msg,.removed{color:var(--muted)}.delete-msg{opacity:.75}.tick,.tick.is-read,.dark .tick.is-read{color:var(--accent)}.msg-actions{gap:16px}.msg-actions button{min-height:32px}.bubble img{border-radius:16px}.bubble .reply-quote{background:var(--selected);border-radius:12px;border-color:var(--accent)}.welcome{margin:38px auto;color:var(--muted)}.welcome h2{color:var(--ink)}.welcome p{line-height:1.8}
.composer-area{padding:16px 28px 20px}#composer{background:var(--field);border-color:var(--line);box-shadow:none;border-radius:32px;padding:8px;gap:6px}.send{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);flex-shrink:0}.send:hover{background:var(--accent);filter:brightness(.93)}textarea{color:var(--ink)}textarea::placeholder{color:var(--muted)}.composer-hint{color:var(--muted)}.reply-context,.attachment{background:var(--panel);border-color:var(--accent);border-radius:18px}.reply-context button,.attachment button{border-radius:50%;width:40px;height:40px}.emoji-panel{background:var(--panel);border:1px solid var(--line);border-radius:24px}.emoji-panel button{border-radius:50%}.in-chat-search{background:var(--panel);padding-inline:28px;align-items:center}.in-chat-search input{background:var(--field);border-color:var(--line);border-radius:99px;min-width:0;color:var(--ink)}
dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:28px;padding:25px;max-height:85dvh}dialog::backdrop{background:#080c0ec9}dialog h2{font-size:1.625rem;font-weight:750}dialog p,dialog h3,dialog label,.detail-stat{color:var(--muted)}dialog strong{color:var(--ink)}dialog input,dialog select,#editBody{border-color:var(--line);background:var(--field);color:var(--ink);border-radius:24px}dialog .primary,.primary{background:var(--accent);color:var(--on-accent);border-radius:99px;font-weight:750;min-height:44px}.primary:hover{background:var(--accent);filter:brightness(.94)}.contact-card{border-color:var(--line);border-radius:24px}.contact-secondary{border-color:var(--line);border-radius:99px;min-height:44px}.contact-open,.contact-secondary,.text-link,.account-link,dialog a{color:var(--accent)}.contact-open{min-height:44px}.contact-options{border-radius:50%;min-height:44px;min-width:36px}.contact-search .primary{flex-shrink:0}#toast{background:var(--accent);color:var(--on-accent);border-radius:25px;max-width:calc(100vw - 32px);text-align:center}.history{background:var(--panel);border-color:var(--line);color:var(--accent)}
@media(max-width:1100px) and (min-width:721px){.app{grid-template-columns:64px 330px minmax(0,1fr)}.rail{padding-inline:7px}.side-head{padding-inline:22px}.brand{font-size:31px}.search{margin-inline:22px}.tabs{padding-inline:22px;gap:7px}.tabs button{padding-inline:12px}.chats{padding-inline:20px}.chat-name{font-size:1rem}.snippet{font-size:0.9375rem}.chat .avatar{width:44px;height:44px}}
@media(min-width:1500px){.app{grid-template-columns:80px 410px minmax(0,1fr)}}
@media(max-width:720px){
 .app{display:block;height:100dvh;min-height:0}.rail{display:none}.sidebar{height:100%;border:0}.side-head{padding:calc(20px + env(safe-area-inset-top)) 24px 18px}.brand{font-size:34px}.new{width:46px;height:46px}h1{font-size:32px;margin-top:10px}.eyebrow{font-size:0.875rem;letter-spacing:2px}.search{margin:0 24px 12px;padding:12px 16px}.search input{font-size:1.25rem}.tabs{padding:0 24px 12px;gap:9px}.tabs button{padding:9px 15px;font-size:0.9375rem;min-height:44px}.chats{padding:3px 24px 0;flex:1;min-height:0}.chat{padding:22px 0;gap:13px}.chat .avatar{width:50px;height:50px}.chat-name{font-size:1.1875rem}.snippet{font-size:1rem;max-width:none}.contacts-entry{margin:6px 24px 0;padding:16px 0;font-size:1rem}.side-footer{padding:3px 24px 9px}.install-app{margin:0 24px 8px;padding:8px 12px;font-size:0.875rem}.mobile-nav{display:flex;justify-content:space-around;border-top:1px solid var(--line);background:var(--panel);padding:12px 12px calc(12px + env(safe-area-inset-bottom));flex-shrink:0}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;min-width:70px;border-radius:24px;color:var(--muted);font-size:0.875rem}.mobile-nav svg{width:25px;height:25px}.mobile-nav button.active{color:var(--accent);font-weight:750}
 .conversation{display:none}.chat-open .sidebar{display:none}.chat-open .conversation{height:100dvh;display:flex}.chat-header{padding:env(safe-area-inset-top) 12px 0;height:calc(74px + env(safe-area-inset-top));gap:8px}.chat-header .avatar{height:38px;width:38px;font-size:1rem}.back{display:grid}.header-actions{gap:0}.header-actions .icon{width:36px}.identity strong{font-size:1.125rem}.identity span{font-size:0.875rem}.pinned{margin:12px 14px 0;padding:11px 14px;border-radius:20px}.messages{padding:20px 14px}.bubble{max-width:85%;font-size:1.125rem}.composer-area{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}#composer{gap:2px;padding:6px;border-radius:29px}#composer .icon{width:35px;flex-shrink:0}#draft{font-size:1.25rem}.send{width:42px;height:42px}.composer-hint{font-size:0.875rem;justify-content:center;padding:8px 0 0}.in-chat-search{padding-inline:14px}dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:22px}dialog input,dialog select{font-size:1.25rem}.contact-card{gap:7px;padding:12px 9px}.contact-open{padding:6px}.contact-card .avatar{width:34px;height:34px}
}
@media(max-width:360px){.side-head{padding-inline:18px}.brand{font-size:31px}h1{font-size:29px}.search{margin-inline:18px}.tabs{padding-inline:18px;gap:6px}.tabs button{padding-inline:12px}.chats{padding-inline:18px}.chat-name{font-size:1.125rem}.chat .avatar{width:44px;height:44px}.contacts-entry{margin-inline:18px;font-size:0.9375rem}.contacts-entry svg{width:21px}.chat-header #headerAvatar{display:none}}
@media(max-height:740px) and (max-width:720px){.side-head{padding-top:calc(17px + env(safe-area-inset-top));padding-bottom:18px}.search{margin-bottom:10px;padding-block:12px}.tabs{padding-bottom:10px}.contacts-entry{padding-block:12px}.chat{padding-block:18px}.side-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.messages{scroll-behavior:auto}}

/* Shared text identity, including installation details. */
.group-contact-list{max-height:38dvh;overflow-y:auto;overscroll-behavior:contain;margin:12px 0}.group-contact{display:flex!important;align-items:center;gap:12px;padding:12px!important;margin:8px 0!important;border:1px solid var(--line);border-radius:22px;cursor:pointer}.group-contact:has(input:checked){border-color:var(--accent);background:var(--selected)}.group-contact input[type=checkbox]{appearance:auto;width:20px;height:20px;min-width:20px;accent-color:var(--accent);margin:0;padding:0}.group-contact .avatar{width:38px;height:38px;font-size:1rem;flex-shrink:0}.group-contact>span{min-width:0}.group-contact strong,.group-contact small{display:block;overflow-wrap:anywhere}.group-contact small{margin-top:4px;color:var(--muted);font-size:0.9375rem}#groupSelection,.group-disclosure{font-size:0.9375rem;line-height:1.6}#groupError:empty{display:none}#groupError{color:var(--accent);font-size:1rem}#submitGroup{width:100%}#addGroupContacts{width:100%;margin:10px 0 20px}#groupForm>input{box-sizing:border-box;width:100%}
.contact-self{display:flex;align-items:center;gap:12px;background:var(--selected);border:1px solid var(--line);border-radius:22px;padding:16px;margin:16px 0 10px}.contact-self>div{flex:1;min-width:0}.contact-self small{display:block;color:var(--muted);font-size:0.875rem;margin-bottom:5px}.contact-self strong{display:block;overflow-wrap:anywhere;color:var(--accent);font-size:1.1875rem;user-select:text}.contact-copy{min-height:44px;padding:8px 12px;flex-shrink:0;border:1px solid var(--accent);border-radius:99px;color:var(--accent);font-size:0.9375rem;font-weight:700}.contact-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.contact-section h3{margin:0 0 12px;color:var(--ink)}#contactCount{color:var(--muted);font-size:0.9375rem;margin-left:5px}#savedContactQuery{width:100%;box-sizing:border-box;margin:0 0 8px}#savedContacts{max-height:32dvh;overflow-y:auto;overscroll-behavior:contain}.contacts-empty{font-size:1rem;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-section>p{font-size:1rem;line-height:1.6}.contact-options:focus-visible,.contact-open:focus-visible,.contact-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:360px){.contact-self{flex-wrap:wrap}.contact-copy{width:100%}}
.avatar{overflow:hidden}.avatar>img[data-profile-avatar]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;margin:0;max-height:none}#profilePhoto{margin:16px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.profile-photo-preview{display:flex;justify-content:center}.profile-photo-preview .avatar{width:88px;height:88px;font-size:26px}.photo-buttons{display:flex;align-items:center;gap:12px;margin-top:12px}.photo-buttons .contact-secondary,.photo-buttons .primary{width:auto;flex:1;margin:0;font-size:1rem}.photo-buttons .text-link{padding:12px;min-height:44px}.photo-note{font-size:0.875rem!important;text-align:center}.photo-crop{padding-top:15px}.photo-crop canvas{display:block;width:min(256px,100%);height:auto;aspect-ratio:1;border-radius:50%;border:2px solid var(--accent);margin:0 auto 20px;touch-action:pan-y}.photo-crop label{display:block;margin:12px 0}.photo-crop input[type=range]{display:block;width:100%;height:32px;margin:5px 0;padding:0;accent-color:var(--accent)}[data-photo-status]{font-size:0.9375rem!important;margin-bottom:0}#mobileProfile .avatar{width:27px;height:27px;font-size:0.9375rem}#about .avatar{width:36px;height:36px;font-size:1.125rem}
.install-device{color:var(--accent)!important;font-size:0.9375rem!important;font-weight:750;margin:20px 0 6px}.install-walkthrough{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:18px}.install-walkthrough li{display:flex;gap:12px}.step-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--selected);color:var(--accent);font-weight:800;flex-shrink:0}.install-walkthrough strong{font-size:1.125rem}.install-walkthrough p{margin:5px 0 0;line-height:1.6;font-size:0.9375rem}.install-walkthrough svg{display:inline-block;vertical-align:middle;width:18px;height:18px;color:var(--accent)}.install-help{margin-top:17px;font-size:0.9375rem;color:var(--muted)}.install-help summary{cursor:pointer;min-height:28px;padding:5px 0}.install-help summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.install-platforms{display:flex;gap:8px;padding:10px 0}.install-platforms button{border:1px solid var(--line);border-radius:99px;padding:10px 12px;color:var(--accent);min-height:44px}#copyInstallStatus{overflow-wrap:anywhere}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-signature{display:block;color:var(--accent);font-size:0.9375rem;font-weight:750;line-height:1.2;letter-spacing:2.6px}.install-intro .brand-signature{margin-top:4px}.install-intro img{border-radius:50%}

/* Appearance set by the owner within the permanent dark theme. */
.app-announcement[hidden],.brand-signature[hidden]{display:none}
body[data-accent="menta"].dark{--accent:#88e3bf;--purple:#88e3bf;--out:#203c32;--selected:#20332d;--on-accent:#10271d}
body[data-accent="azul"].dark{--accent:#92cfff;--purple:#92cfff;--out:#203546;--selected:#1e2f3c;--on-accent:#102334}
.app-announcement{margin:0 24px 20px;padding:12px 16px;background:var(--selected);color:var(--accent);border:1px solid var(--line);border-radius:20px;font-size:0.9375rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:110px;overflow:auto;flex-shrink:0}.admin-entry{display:block;padding:14px 18px;border-radius:99px;border:1px solid var(--accent);text-align:center;font-size:1.125rem;font-weight:750}.side-head .brand{overflow-wrap:anywhere}.side-head .brand-lockup{min-width:0}

/* Group administration */
.group-member{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.group-member>span{flex:1;min-width:0;overflow-wrap:anywhere}.group-member small{display:block;font-size:0.9375rem;opacity:.65;margin-top:4px}.group-member .avatar{width:42px;height:42px;flex-shrink:0}.group-member button{width:auto;flex:0 0 auto;padding:8px 12px;margin:0}.group-leave{margin:24px 0;width:100%}#nextGroupOwner{width:100%;border-radius:18px;background:var(--field);color:var(--ink);border:1px solid var(--line);padding:14px;font:inherit}[data-group-photo]{margin:20px 0}[data-group-name] button{margin-top:12px}
.side-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.side-actions .icon{margin:0;width:46px;height:46px;flex-shrink:0}.side-actions .contacts-shortcut{background:var(--selected);border:1px solid var(--line);color:var(--accent)}.side-actions .contacts-shortcut:hover{border-color:var(--accent)}.side-head{gap:12px}.install-app[hidden]{display:none}
.phone-contacts{padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--selected);margin:18px 0 24px}.phone-contacts h3{margin-top:0;color:var(--ink)}.phone-contacts p{font-size:0.9375rem;line-height:1.6}.phone-contacts .agenda-pick,.phone-contacts .contact-secondary{width:100%;margin:5px 0}.phone-contacts [hidden]{display:none!important}.agenda-help{font-size:0.9375rem;color:var(--muted);margin:14px 0}.agenda-help summary{cursor:pointer;min-height:32px;padding:6px 0;color:var(--accent)}.agenda-privacy{font-size:0.875rem!important}.phone-contacts #agendaFilter{width:100%;margin:10px 0}#agendaCandidates{max-height:220px;overflow:auto;overscroll-behavior:contain}.agenda-candidate{display:flex!important;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0;margin:0!important;cursor:pointer}.agenda-candidate input{appearance:auto;accent-color:var(--accent);width:20px;height:20px;flex-shrink:0;margin:0}.agenda-candidate>span{min-width:0}.agenda-candidate strong,.agenda-candidate small{display:block;overflow-wrap:anywhere;line-height:1.5}.agenda-candidate strong{font-size:1rem}.agenda-candidate small{font-size:0.875rem}.agenda-candidate:has(input:disabled){opacity:.65}#agendaSearch{width:100%;margin-top:14px}#agendaClear{display:block;min-height:44px;width:100%;font-size:0.9375rem}#agendaMatches .contact-card{flex-wrap:wrap}#agendaMatches .contact-card>div{flex:1;min-width:80px}#agendaMatches .contact-open{font-size:0.9375rem}#agendaStatus{color:var(--ink)}
