:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1e222b;--border: #2a2f3a;--text: #e6e8ec;--muted: #8b92a1;--accent: #6aa9ff;--accent-tint: rgba(106, 169, 255, .14);--out: #24406b;--danger: #f08a8a;--danger-tint: rgba(240, 138, 138, .12);--warn: #f2c46d;--warn-tint: rgba(242, 196, 109, .14);--success: #7ccfa3;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,textarea{font:inherit;color:inherit}input,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;outline:none;width:100%}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:none}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn-sm{padding:5px 10px;font-size:13px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0b1220;font-weight:500}.btn-primary:hover:not(:disabled){filter:brightness(1.08);border-color:var(--accent)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-tint);border-color:var(--danger)}.btn.on{color:var(--warn);border-color:#f2c46d66}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:13px}.btn-link.danger{color:var(--danger)}.btn-icon{background:none;border:1px solid transparent;border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:17px;flex:none}.btn-icon:hover{background:var(--surface-2)}.spacer{flex:1}.empty{color:var(--muted);padding:24px;text-align:center;list-style:none}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.login-page{display:grid;place-items:center;height:100%;padding:16px}.login-card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0 0 4px;font-size:20px;font-weight:600}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.form-error{color:var(--danger);font-size:13px}.inbox{display:flex;height:100%}.inbox-list{width:380px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);min-height:0}.inbox-chat{flex:1;min-width:0;display:flex;flex-direction:column}.chat-empty{margin:auto;color:var(--muted)}.inbox-head{padding:12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border)}.inbox-who{display:flex;justify-content:space-between;align-items:center}.inbox-name{font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--muted)}.chip.active{background:var(--accent-tint);border-color:var(--accent);color:var(--text)}.list-error{color:var(--danger);padding:10px 12px;font-size:13px}.conv-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.conv{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer}.conv:hover{background:var(--surface-2)}.conv.active{background:var(--accent-tint)}.conv-img{width:46px;height:46px;border-radius:8px;object-fit:cover;flex:none;background:var(--surface-2)}.conv-main{min-width:0;flex:1}.conv-top,.conv-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center}.conv-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv.unread .conv-name{font-weight:700}.star{color:var(--warn);margin-right:4px}.conv-time{color:var(--muted);font-size:12px;flex:none}.conv-ad{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-last{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.conv.unread .conv-last{color:var(--text);font-weight:500}.badge-unread{background:var(--accent);color:#0b1220;border-radius:999px;font-size:11px;font-weight:600;padding:0 7px;flex:none}.conv-note{color:var(--warn);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.chat{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.chat-head .back{display:none}.chat-title{min-width:0}.chat-partner{font-weight:600;font-size:15px}.chat-sub{color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chat-acc{opacity:.8}.chat-acc:before{content:"·";margin-right:6px}.tag{font-size:11px;padding:0 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.tag-warn{color:var(--warn);background:var(--warn-tint);border-color:#f2c46d59}.chat-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;border-bottom:1px solid var(--border)}.chat-note{padding:6px 14px;font-size:13px;color:var(--warn);background:var(--warn-tint)}.messages{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px}.msg{max-width:min(560px,80%);padding:8px 11px;border-radius:12px;background:var(--surface-2);align-self:flex-start;white-space:pre-wrap;word-wrap:break-word}.msg.out{align-self:flex-end;background:var(--out)}.msg-time{color:var(--muted);font-size:11px;margin-top:3px;text-align:right}.msg-images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.msg-img{width:160px;height:160px;object-fit:cover;border-radius:8px;cursor:zoom-in;display:block}.msg-img.loading{background:var(--surface);display:inline-block}.msg-file{color:var(--muted);font-size:12px}.composer{border-top:1px solid var(--border);padding:10px 14px;background:var(--surface)}.composer-row{display:flex;gap:8px;align-items:flex-end}.composer-row textarea{flex:1}.composer-files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.file-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 4px 2px 10px;font-size:12px;display:inline-flex;align-items:center;gap:4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:15px}.guard-error{color:var(--danger);font-size:12px;margin-bottom:6px}.templates{position:absolute;left:14px;right:14px;bottom:74px;max-height:50%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000073;padding:10px;z-index:5}.templates-head{display:flex;justify-content:space-between;font-weight:600;margin-bottom:8px}.templates-list{list-style:none;margin:0 0 8px;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.templates-list li{display:flex;align-items:center;gap:8px}.template-text{flex:1;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;white-space:pre-wrap}.template-text:hover{border-color:var(--accent)}.templates-add{display:flex;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px}.modal-title{font-weight:600;font-size:15px;margin-bottom:12px}.modal-text{color:var(--muted);margin:0 0 10px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;max-width:360px;box-shadow:0 8px 24px #0006}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:grid;place-items:center;z-index:70;cursor:zoom-out}.lightbox img{max-width:94vw;max-height:94vh;border-radius:8px}@media(max-width:760px){.inbox-list{width:100%;border-right:none}.inbox-chat,.inbox.has-chat .inbox-list{display:none}.inbox.has-chat .inbox-chat{display:flex}.chat-head .back{display:inline-block}.msg{max-width:88%}.msg-img{width:120px;height:120px}.toasts{left:16px}}
