/* ── APP ─────────────────────────────────────────────────── */
#app{position:fixed;inset:0;display:none;overflow:hidden}

/* 两个全屏面板，聊天页从右侧滑入 */
#screen-list{position:absolute;inset:0;display:flex;flex-direction:column;background:#f7f7f7;z-index:10;transition:transform .28s cubic-bezier(.4,0,.2,1)}
#screen-chat{position:absolute;inset:0;display:flex;flex-direction:column;background:#ededed;z-index:20;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
#app.chat-open #screen-chat{transform:translateX(0)}

/* ── LIST SCREEN ─────────────────────────────────────────── */
.nav-bar{display:flex;align-items:center;padding:max(env(safe-area-inset-top),14px) 16px 12px;background:#ededed;border-bottom:1px solid #d8d8d8;flex-shrink:0}
.nav-title{flex:1;text-align:center;font-size:18px;font-weight:700}
.nav-side{min-width:56px}
.nav-btn{font-size:14px;color:#555;background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:8px}
.nav-btn:active{background:rgba(0,0,0,.08)}

.search-bar{padding:8px 12px;background:#ededed;flex-shrink:0}
.search-input{width:100%;background:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:14px;outline:none;color:#333}
.search-input::placeholder{color:#bbb}

.contact-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff}
.contact-list::-webkit-scrollbar{width:0}

.ci{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f2f2f2;cursor:pointer}
.ci:active{background:#f5f5f5}
.av{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0;position:relative}
.av-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2.5px solid #fff}
.av-dot.on{background:#07C160}
.av-dot.off{background:#ccc}
.ci-info{flex:1;min-width:0}
.ci-name{font-size:15px;font-weight:600;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-prev{font-size:13px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.ci-time{font-size:11px;color:#bbb}
.ci-badge{background:#f00;color:#fff;border-radius:10px;min-width:18px;height:18px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.no-emp{text-align:center;padding:60px 24px;color:#ccc;font-size:14px;line-height:2.2}
