/* Desktop WeChat-style shell. Mobile rules remain in styles.css. */
.rail-self { border:0; padding:0; width:38px; height:38px; background:#ddd; border-radius:5px; overflow:hidden; color:#666; }
.rail-self-avatar, .rail-self .avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:5px; font-size:17px; }
.message-favorite-button { border:0; background:transparent; color:#a6aaa6; font-size:16px; padding:0 3px; opacity:0; }
.message-row:hover .message-favorite-button, .message-favorite-button:focus-visible { opacity:1; }
@media (min-width:721px) and (min-height:501px), (min-width:951px) {
  :root { --rail:#2e2e2e; --green:#07c160; --green-dark:#06ad56; --line:#e4e4e4; color:#191919; background:#f5f5f5; }
  .app-shell { grid-template-columns:62px 284px minmax(0,1fr); background:#f5f5f5; }
  .app-shell.with-details { grid-template-columns:62px 284px minmax(320px,1fr) 300px; }
  .rail { padding:28px 0 18px; gap:21px; background:#2e2e2e; color:#a9a9a9; }
  .rail-self { margin-bottom:6px; }.rail-button { border-radius:4px; width:42px; height:40px; }.rail-button svg { width:25px; height:25px; stroke-width:1.6; }
  .rail-button.active { background:none; color:#07c160; }.rail-button:hover { background:#383838; }.rail-caption { display:none; }
  .conversation-sidebar { background:#ebebeb; border-right:1px solid #d7d7d7; }
  .sidebar-header { padding:20px 15px 10px; flex-shrink:0; background:#f1f1f1; }
  .title-row { min-height:30px; margin-bottom:11px; }.title-row h1 { font-size:17px; font-weight:600; letter-spacing:0; }.small-label { display:none; }
  .sidebar-header .workspace-owner, .sidebar-header .wechat-device-profile, .device-label { display:none; }
  .device-selector { height:33px; padding:0 9px; border:0; border-radius:4px; background:#e5e5e5; }.device-selector select { font-size:12px; color:#555; }
  .device-caption { margin:5px 1px 12px; font-size:10px; color:#999; min-height:14px; }.device-caption > span { max-width:205px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .search-box { border:0; background:#e2e2e2; height:31px; border-radius:4px; }.search-box input { font-size:12px; color:#555; }.search-box input::placeholder { color:#999; }
  .sidebar-actions { margin-top:7px; gap:5px; }.sidebar-actions button { font-size:10px; }.sync-sessions-button { border:0; background:transparent; padding:3px 0; color:#888; }.new-conversation-button { color:#777; }
  .session-sync-status { max-height:25px; margin-top:3px; overflow:hidden; color:#999; }.session-sync-status:empty { display:none; }
  .conversation-list { padding:0; }.conversation-item { min-height:74px; border:0; padding:13px 15px; margin:0; border-radius:0; gap:11px; }
  .conversation-item:hover { background:#dedede; }.conversation-item.selected { border:0; background:#c6c6c6; }.conversation-item.pinned:not(.selected) { background:#e4e4e4; }
  .conversation-item .avatar { width:44px; height:44px; border-radius:4px; font-size:17px; }.conversation-name { color:#171717; font-size:14px; font-weight:500; }.conversation-time { color:#aaa; font-size:10px; }.conversation-preview { margin-top:5px; color:#999; font-size:12px; }.conversation-item.selected .conversation-preview { color:#747474; }
  .conversation-badge { border-color:#cfcfcf; color:#929292; font-size:9px; }.unread-badge { background:#fa5151; }.connection-footer { border-color:#ddd; padding:10px 15px; color:#999; font-size:10px; background:#ebebeb; }
  .main-pane { background:#f5f5f5; }.chat-header { min-height:64px; padding:13px 24px; gap:11px; background:#f5f5f5; border-color:#e3e3e3; }.chat-header .header-avatar { display:none; }
  .chat-heading h2 { font-size:18px; font-weight:500; }.chat-heading p { display:none; }.kind-badge { background:#e9e9e9; color:#929292; font-size:10px; }.chat-header-actions { gap:15px; }
  .header-action { color:#6b6b6b; padding:7px 1px; font-size:11px; }.header-action:hover { color:#07b65b; }.header-action svg { width:19px; height:19px; }.header-action > span:not(.count-badge) { display:none; }.mobile-chat-tools { display:inline-flex; }
  .message-search, .phone-history-toolbar, .history-toolbar { display:none; }.mobile-tools-open .message-search { display:flex; }.mobile-tools-open .phone-history-toolbar, .mobile-tools-open .history-toolbar { display:flex; }
  .message-search { padding:10px 24px; background:#f5f5f5; border-color:#e3e3e3; }.message-search input { font-size:12px; border-color:#ddd; }.phone-history-toolbar, .history-toolbar { padding-left:24px; padding-right:24px; color:#999; }
  .message-list { padding:23px 28px 20px; background:#f5f5f5; }.message-row { gap:10px; margin-bottom:22px; }.message-avatar { width:36px; height:36px; border-radius:4px; }.message-content { max-width:min(76%,590px); }
  .message-sender { color:#999; font-size:11px; margin-bottom:6px; }.message-bubble { border:1px solid #ededed; border-radius:4px; background:#fff; color:#191919; font-size:14px; padding:9px 12px; line-height:1.65; }.outgoing .message-bubble { border-radius:4px; border-color:#95ec69; background:#95ec69; color:#171f15; }
  .date-divider { margin-bottom:24px; }.date-divider span { color:#aaa; padding:4px 8px; background:transparent; border-radius:3px; }.message-foot { color:#aaa; font-size:10px; }.message-card-title { color:#222; font-size:14px; }.message-card-description { color:#888; font-size:12px; }.message-card-kind { color:#999; }.message-card-body { padding:12px 14px; }
  .outgoing .message-bubble.message-card { background:#fff; border-color:#e8e8e8; }.message-bubble.card-system, .outgoing .message-bubble.card-system { background:transparent; border:0; }.system-message-text { color:#999; font-size:12px; }
  .chat-notice { background:#fff9ea; color:#9b875e; border-color:#f0e5ca; padding:8px 24px; }.contact-profile { background:#f5f5f5; border-color:#e0e0e0; }
  .chat-bottom-bar { border-top:1px solid #e4e4e4; background:#fff; }.chat-bottom-content { width:100%; }.composer { border:0; background:#fff; padding:0 22px 14px; }
  .composer-toolbar { display:none; }.composer textarea { display:block; width:100%; min-height:88px; height:90px; max-height:240px; padding:5px 0; font-size:14px; line-height:1.65; border:0; border-radius:0; background:#fff; color:#222; resize:vertical; }.composer textarea:focus { outline:none; }
  .composer-bottom { margin-top:4px; font-size:10px; color:#b6b6b6; }.send-button { min-width:82px; justify-content:center; border:1px solid #e4e4e4; border-radius:4px; background:#e9e9e9; color:#07a351; padding:6px 18px; font-size:13px; }.send-button svg { display:none; }.send-button:hover { background:#d9d9d9; }.send-button:disabled { background:#f2f2f2; color:#bababa; border-color:#ededed; }
  .phone-menu { border:0; border-bottom:1px solid #e4e4e4; background:#f7f7f7; padding:0 22px; }.phone-menu-caption { min-height:28px; color:#999; }.phone-menu-button { min-height:40px; font-size:12px; color:#555; border-color:#e1e1e1; }.phone-menu-button:hover { background:#eee; }
  .details-panel { width:auto; background:#fafafa; border-color:#ddd; }.details-header { min-height:70px; padding:19px 17px 0; }.details-content { padding:20px 18px; }.panel-intro h3 { color:#444; }.panel-intro p { color:#999; }
  .contacts-filter { gap:4px; }.contacts-filter button { font-size:11px; padding:7px 6px; }.contacts-list { padding:0; }.contact-row { border-radius:0; min-height:68px; padding:11px 15px; }.contact-row-name { font-size:14px; color:#222; }.contact-row .avatar { border-radius:4px; }.contact-group-letter { background:#e5e5e5; color:#999; padding-left:15px; }.addressbook-header { min-height:64px; padding:14px 26px; background:#f5f5f5; }.addressbook-header h2 { font-size:18px; }.addressbook-profile { background:#fff; border-color:#e4e4e4; box-shadow:none; }.contact-chat-button { background:#07c160; }
  .moments-header { min-height:78px; padding:17px 28px; background:#f5f5f5; }.moments-header .eyebrow { display:none; }.moments-header h2 { font-size:20px; margin:0 0 5px; }.moments-scroll { background:#f5f5f5; }.moment-post { border-color:#e5e5e5; border-radius:5px; box-shadow:none; }.moments-target.active { background:#d9e5d9; border-color:transparent; }.moments-compose-open, .moment-publish-button { background:#07b65b; }
  .empty-chat-art { color:#c9c9c9; }.empty-chat-art rect { fill:#e8e8e8; }.empty-chat h2 { color:#999; font-size:18px; }.empty-chat p,.empty-caption { color:#b6b6b6; }
}
@media (min-width:721px) and (max-width:1150px) and (min-height:501px), (min-width:951px) and (max-width:1150px) {
  .app-shell.with-details { grid-template-columns:62px 284px minmax(0,1fr); }.details-panel { position:absolute; top:0; right:0; bottom:0; width:310px; z-index:40; box-shadow:-8px 0 24px #0001; }
}
@media (max-width:720px), (max-width:950px) and (max-height:500px) { .message-favorite-button { opacity:1; padding:3px 5px; } }
