/* Cross-theme notification color and dark desktop panel hierarchy. */
.badge,
.rail-badge {
  background: #e53935;
}

.chat-row {
  border-bottom: 0;
}

html[data-theme="dark"] .sidebar {
  background: #101618;
}

html[data-theme="dark"] .filter-rail {
  background: #131a1c;
}

.sidebar-header{min-height:74px;border-bottom:0}.sidebar-header .brand{margin:0}.search-wrap{padding-bottom:6px}
.chat-filter-chips{display:flex;gap:7px;padding:0 12px 10px;overflow-x:auto;scrollbar-width:none}.chat-filter-chips::-webkit-scrollbar{display:none}
.chat-filter-chip{flex:0 0 auto;min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:17px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:750}
.chat-filter-chip.active{background:color-mix(in srgb,var(--green) 16%,var(--panel));border-color:color-mix(in srgb,var(--green) 36%,var(--line));color:var(--ink)}.chat-filter-chip span:not(:empty){margin-left:3px}
.rail-spacer{flex:1;min-height:8px}.rail-profile-wrap{position:relative;flex:0 0 auto;line-height:0}.rail-profile-button{width:42px;height:42px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--mint);color:var(--green);cursor:pointer;font-weight:750}.rail-profile-button #profileInitials{display:grid;width:100%;height:100%;place-items:center;border-radius:inherit;overflow:hidden;line-height:1;background-position:center;background-size:cover;background-repeat:no-repeat}.rail-profile-button[aria-expanded=true]{outline:2px solid var(--green);outline-offset:2px}
.profile-menu{position:fixed;z-index:85;inset:auto;width:min(264px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
.profile-menu .profile-menu-avatar{display:grid;place-items:center;overflow:hidden}
#profileInitials>img,#profileMenuAvatar>img,#profileDialogAvatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-menu-header{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;padding:8px}.profile-menu-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:850}
.profile-menu-header strong,.profile-menu-header span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-header div>span{margin-top:3px;color:var(--muted);font-size:12px}
.profile-logout{width:100%;display:flex;align-items:center;gap:10px;margin-top:8px;padding:11px 12px;border:0;border-top:1px solid var(--line);background:transparent;color:#e53935;cursor:pointer;font-weight:750;text-align:left}
.chat-meta{display:grid;grid-template-columns:auto auto;justify-content:end;align-items:center;gap:3px 6px}.chat-meta .badge{grid-column:2;justify-self:end;margin-top:1px}
.favourite-toggle{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;opacity:0}.chat-row:hover .favourite-toggle,.favourite-toggle.selected,.favourite-toggle:focus-visible{opacity:1}.favourite-toggle.selected{color:#f4b400}
.action-popover{position:fixed;z-index:80;min-width:210px;padding:6px;background:var(--panel,#fff);border:1px solid var(--border,#d8d8d8);border-radius:12px;box-shadow:0 12px 34px #0005}.action-popover button,.contact-info-actions button,.photo-menu button{display:block;width:100%;padding:11px 13px;border:0;background:transparent;color:inherit;text-align:left;border-radius:8px;cursor:pointer}.action-popover button:hover,.contact-info-actions button:hover,.photo-menu button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.action-popover .danger,.contact-info-actions .danger,.photo-menu .danger{color:#ef3947}.message-action-menu{position:fixed}.bubble{position:relative;box-sizing:border-box;min-width:76px;padding-right:42px}.bubble-action{position:absolute;right:7px;top:6px;width:27px;height:27px;border:0;border-radius:50%;color:inherit;opacity:0;cursor:pointer}.bubble.mine .bubble-action{background:var(--mine-bubble);color:var(--mine-text)}.bubble.theirs .bubble-action{background:var(--their-bubble);color:var(--ink)}.bubble:hover .bubble-action,.bubble:focus-within .bubble-action{opacity:1}.message-quote{display:flex;flex-direction:column;width:100%;margin:0 0 7px;padding:7px 9px;border:0;border-left:3px solid #d11f2f;border-radius:5px;background:#0001;color:inherit;text-align:left}.message-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-label,.deleted-message{font-size:.78rem;font-style:italic;opacity:.72}.reply-preview{display:flex;align-items:center;justify-content:space-between;margin:0 12px;padding:9px 12px;border-left:4px solid #d11f2f;background:var(--panel,#fff)}.reply-preview div{display:flex;min-width:0;flex-direction:column}.reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.72}.reply-preview button{border:0;background:transparent;color:inherit;font-size:1.5rem}.contact-info-section p{margin:5px 0;white-space:pre-wrap}.contact-info-section a{display:block;margin-top:5px}.contact-info-actions{padding:10px 16px;border-top:1px solid var(--border,#ddd)}
.message-action-menu{position:fixed;min-width:205px;padding:7px;background:#171b1c!important;color:#f4f6f5;border:0!important;border-radius:11px;box-shadow:0 14px 42px #0009}.message-action-menu button{display:flex!important;align-items:center;gap:13px;border-radius:7px!important;padding:10px 12px!important}.message-action-menu button:hover{background:#293031!important}.message-action-menu .ui-icon{width:18px;height:18px;flex:0 0 18px}.message-action-menu .message-menu-divider{display:block;height:1px;margin:5px 8px;background:#ffffff20}.message-action-menu .danger{color:#ff6672}
.profile-page{position:fixed;z-index:90;inset:0;display:grid;grid-template-rows:70px minmax(0,1fr);background:var(--cream);color:var(--ink)}.profile-page.hidden{display:none}.profile-page-header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--panel);position:relative;z-index:2}.profile-page-header h1{margin:0;font-size:20px}.profile-close{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.profile-close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.profile-save{min-width:104px;padding:11px 25px;border:0;border-radius:24px;background:#fff;color:#111;font:inherit;font-weight:750;cursor:pointer}.profile-save:disabled{background:color-mix(in srgb,var(--ink) 10%,var(--panel));color:var(--muted);cursor:not-allowed}.profile-page-scroll{overflow:auto}.profile-page-content{width:min(850px,calc(100% - 32px));min-height:calc(100% - 50px);margin:24px auto;padding:28px 36px 48px;border-radius:14px;background:var(--panel)}.profile-photo-wrap{position:relative;width:max-content;margin:0 auto 30px}.profile-photo-button{display:grid;justify-items:center;gap:10px;border:0;background:transparent;color:inherit;cursor:pointer}.profile-dialog-avatar{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;background:var(--mint) center/cover no-repeat;color:var(--green);font-size:50px;font-weight:800}.profile-photo-edit{display:flex;align-items:center;gap:7px;color:var(--green);font-weight:750}.photo-menu{position:absolute;z-index:4;left:50%;top:130px;width:220px;transform:translateX(-50%);padding:7px;border:0;border-radius:11px;background:#171b1c;color:#fff;box-shadow:0 15px 38px #0008}.photo-menu button{display:flex!important;align-items:center;gap:12px}.profile-save-status{min-height:22px;margin:0 0 10px;text-align:center;color:var(--green);font-weight:700}.profile-form{display:grid;gap:4px}.profile-field{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:13px;padding:17px 5px;border-bottom:1px solid var(--line)}.profile-field>.ui-icon{margin-top:25px;color:var(--muted)}.profile-field>span{display:grid;gap:7px}.profile-field b{font-size:12px;color:var(--muted)}.profile-field input,.profile-field textarea,.settings-section select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);padding:12px 13px;font:inherit}.profile-field textarea{min-height:96px;resize:vertical}.avatar-crop-dialog{z-index:100}.settings-page-content{display:grid;gap:18px}.settings-section{padding:22px;border:1px solid var(--line);border-radius:13px}.settings-section h2{display:flex;align-items:center;gap:11px;margin:0 0 18px;font-size:19px}.settings-section label{display:grid;gap:8px;margin-top:14px}.range-row{display:flex;align-items:center;gap:14px}.range-row input{flex:1}.settings-section fieldset{border:1px solid var(--line);border-radius:11px;margin:12px 0;padding:14px}.settings-section button{display:inline-flex;align-items:center;gap:8px}
@media(max-width:650px){.profile-page{grid-template-rows:62px minmax(0,1fr)}.profile-page-header{padding:0 10px;gap:7px}.profile-page-content{width:100%;min-height:100%;margin:0;padding:22px 18px 40px;border-radius:0}.profile-save{min-width:84px;padding-inline:18px}.profile-dialog-avatar{width:124px;height:124px}.settings-section{padding:16px}}
/* Final cross-theme hierarchy and full-page editor overrides. */
html[data-theme="light"] .conversation{background-color:#efeae2}html[data-theme="light"] .sidebar{background:#eef2f1}html[data-theme="light"] .filter-rail{background:#f5f7f6}html[data-theme="dark"] .conversation{background-color:#0b1012}html[data-theme="dark"] .sidebar{background:#101618}html[data-theme="dark"] .filter-rail{background:#151c1e}.sidebar,.filter-rail{border-right:0}.chat-row{border-bottom:0}.badge,.rail-badge,.notification-badge,.unread-badge{background:#e53935!important;color:#fff!important}.profile-page .profile-photo-wrap{position:relative;width:max-content;margin:0 auto 30px}.profile-page .profile-photo-button{display:grid;justify-items:center;gap:10px;border:0;background:transparent;color:inherit}.profile-page .profile-dialog-avatar{width:146px;height:146px;background-color:var(--mint);font-size:50px}.profile-page .photo-menu{top:130px;left:50%;width:220px;padding:7px;transform:translateX(-50%);background:#171b1c;color:#fff;border:0;border-radius:11px}.chat-action-menu{background:#171b1c!important;color:#f4f6f5;border:0!important}.chat-action-menu button,.contact-info-actions button{display:flex!important;align-items:center;gap:12px}.chat-action-menu .message-menu-divider{display:block;height:1px;margin:5px 8px;background:#ffffff20}.chat-action-menu .ui-icon,.contact-info-actions .ui-icon{width:18px;height:18px;flex:0 0 18px}@media(max-width:650px){.profile-page .profile-dialog-avatar{width:124px;height:124px;font-size:44px}}
.profile-editor{width:min(620px,calc(100vw - 24px));max-height:90vh}.profile-editor label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.profile-editor input,.profile-editor textarea{box-sizing:border-box;width:100%;padding:11px;border:1px solid var(--border,#bbb);border-radius:9px;background:transparent;color:inherit}.profile-editor textarea{min-height:90px}.profile-photo-wrap{position:relative;display:grid;place-items:center}.profile-photo-button{display:grid;gap:6px;place-items:center;border:0;background:transparent;color:inherit}.profile-dialog-avatar{display:grid;width:112px;height:112px;place-items:center;border-radius:50%;overflow:hidden;background:#28463f;color:#fff;font-size:2rem;background-position:center;background-size:cover}.photo-menu{position:absolute;z-index:2;top:90px;left:50%;width:190px;padding:6px;transform:translateX(-50%);background:var(--panel,#fff);border:1px solid var(--border,#ddd);border-radius:10px;box-shadow:0 10px 30px #0005}.avatar-crop-dialog{padding:0;overflow:hidden;border:0;border-radius:14px;background:var(--panel,#171b1a);color:inherit}.avatar-crop-dialog::backdrop,.profile-editor::backdrop,#forwardDialog::backdrop{background:#000a}.crop-header{display:flex;justify-content:space-between;padding:13px 16px}.crop-header button{border:0;background:transparent;color:inherit;font-size:1.5rem}.avatar-crop-dialog canvas{display:block;width:min(420px,90vw);height:auto;touch-action:none}.avatar-crop-dialog>label{display:flex;gap:10px;padding:12px}.avatar-crop-dialog>.primary{float:right;margin:0 14px 14px}.forward-recipient-list{max-height:50vh;overflow:auto}.forward-recipient-list label{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--border,#ddd)}#chatActionMenu{position:absolute;top:58px;right:10px}.profile-menu>button:not(.profile-logout){display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border:0;background:transparent;color:inherit}.profile-dialog-avatar[style*="background-image"]{font-size:0}@media(max-width:760px){.bubble-action{opacity:1}.contact-info-panel{overflow-y:auto}.avatar-crop-dialog canvas{width:90vw}}

/* Profile-photo dialogs use the same semantic palette in light and dark mode. */
.profile-photo-button:disabled{cursor:progress;opacity:.72}.profile-photo-viewer{width:min(560px,calc(100vw - 28px));padding:48px 14px 14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.profile-photo-viewer::backdrop,.profile-camera-dialog::backdrop{background:rgba(0,0,0,.68)}.profile-photo-viewer .dialog-close{position:absolute;top:9px;right:9px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.profile-photo-viewer img{display:block;width:100%;max-height:min(72vh,540px);aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--cream)}.profile-camera-dialog{border:1px solid var(--line);background:var(--panel);color:var(--ink)}.profile-camera-dialog video{background:var(--cream)}html[data-theme="light"] .profile-page .photo-menu{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 15px 38px rgba(16,42,38,.18)}html[data-theme="light"] .profile-page .photo-menu button:hover{background:color-mix(in srgb,var(--green) 8%,var(--panel))}html[data-theme="dark"] .profile-page .photo-menu{background:#171b1c;color:#f4f6f5;border:1px solid #303638}

/* Profile photos use a viewport-sized viewer without cropping the original. */
dialog.profile-photo-viewer{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:72px 20px 48px;border:0;border-radius:0;background:var(--panel);color:var(--ink)}
dialog.profile-photo-viewer[open]{display:grid;place-items:center}
dialog.profile-photo-viewer img{width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;border-radius:0;background:transparent}
dialog.profile-photo-viewer .dialog-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
.profile-photo-viewer-status{position:absolute;bottom:14px;left:20px;right:20px;margin:0;text-align:center;color:var(--muted);font-size:13px}
.profile-photo-viewer .dialog-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:650px){dialog.profile-photo-viewer{padding:68px 10px 52px}}
dialog.profile-photo-viewer>form{display:contents}
