*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #fafaf9;--surface: #ffffff;--border: #e6e6e3;--text: #1a1a1f;--text-secondary: #75757f;--text-muted: #ababab;--primary: #3a44d4;--primary-hover: #2d36b0;--accent: #f26a47;--green: #34c97a;--purple: #c466e0;--rail-bg: #1f2580;--rail-icon: #ffffff;--msg-bg: #f5f5f4;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 2px 8px rgba(0,0,0,.08)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}input,button,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}.app-layout{display:flex;height:100vh;overflow:hidden}.workspace-rail{width:60px;background:var(--rail-bg);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;flex-shrink:0}.rail-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--rail-icon);font-weight:700;font-size:13px;cursor:pointer;transition:transform .15s,opacity .15s}.rail-icon:hover{transform:scale(1.08)}.rail-icon.active{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:16px 16px 12px;border-bottom:1px solid var(--border)}.sidebar-header h1{font-size:17px;font-weight:700;color:var(--text)}.sidebar-section-title{padding:12px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.sidebar-list{flex:1;overflow-y:auto;padding:4px 0}.sidebar-item{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;border-radius:0;transition:background .12s;font-size:14px;color:var(--text)}.sidebar-item:hover{background:#f5f5f4}.sidebar-item.active{background:var(--primary);color:#fff;border-radius:var(--radius-sm);margin:0 8px;padding:6px 8px}.sidebar-item .channel-hash{color:var(--text-muted);font-weight:500}.sidebar-item.active .channel-hash{color:#ffffffb3}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-footer .user-avatar{width:32px;height:32px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;flex-shrink:0}.sidebar-footer .user-name{font-size:13px;font-weight:500;flex:1}.sidebar-footer .logout-btn{font-size:12px;color:var(--accent);font-weight:500}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);min-width:0}.chat-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.chat-header h2{font-size:15px;font-weight:600}.chat-header .channel-desc{font-size:12px;color:var(--text-secondary)}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:2px}.message-group{display:flex;gap:8px;padding:2px 0;align-items:flex-end}.message-group.outgoing{flex-direction:row-reverse}.message-group.grouped .message-avatar{visibility:hidden}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;flex-shrink:0}.message-content{display:flex;flex-direction:column;gap:2px;max-width:65%;min-width:0;align-items:flex-start}.message-group.outgoing .message-content{align-items:flex-end}.bubble{padding:8px 12px;border-radius:18px;max-width:100%;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;font-size:14px;line-height:1.5}.bubble.incoming{background:#f0f0ef;color:var(--text);border-bottom-left-radius:4px}.bubble.outgoing{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.bubble.outgoing a{color:#ffffffd9}.bubble.channel{background:none;padding:0;border-radius:0;max-width:100%;color:var(--text);white-space:normal}.message-header{display:flex;align-items:baseline;gap:6px;margin-bottom:3px;padding:0 2px}.message-sender{font-weight:600;font-size:13px;color:var(--text)}.message-time{font-size:10px;color:var(--text-muted)}.bubble-meta{font-size:10px;color:var(--text-muted);padding:0 4px;opacity:0;transition:opacity .15s;white-space:nowrap}.message-group:hover .bubble-meta{opacity:1}.message-group.outgoing .bubble-meta{text-align:right}.message-text{font-size:14px;color:var(--text);line-height:1.5;word-wrap:break-word}.message-attachment{margin-top:6px;padding:10px 14px;background:var(--msg-bg);border-radius:var(--radius-sm);border-left:3px solid var(--accent);font-size:13px}.chat-input-area{padding:8px 12px 12px;margin:0 16px 8px;border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s}.chat-input-area:focus-within{border-color:var(--primary)}.chat-input-wrapper{display:flex;align-items:center;gap:8px;background:var(--msg-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;transition:border-color .15s}.chat-input-wrapper:focus-within{border-color:var(--primary)}.chat-input-wrapper input{flex:1;border:none;background:none;outline:none;font-size:14px;color:var(--text)}.chat-input-wrapper input::placeholder{color:var(--text-muted)}.send-btn{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s}.send-btn:hover{background:var(--primary-hover)}.send-btn:disabled{background:#ccc;cursor:not-allowed}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.empty-state .icon{font-size:40px;opacity:.4}.empty-state p{font-size:14px}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}.offline-dot{width:8px;height:8px;border-radius:50%;background:#ddd;flex-shrink:0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{background:var(--surface);padding:36px;border-radius:var(--radius-lg);width:380px;box-shadow:var(--shadow-md)}.auth-card h1{font-size:22px;font-weight:700;margin-bottom:6px}.auth-card .subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.auth-card .error{color:var(--accent);font-size:13px;margin-bottom:12px}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;font-size:14px;transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--primary)}.btn-primary{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--primary-hover)}.auth-link{margin-top:14px;font-size:13px;text-align:center;color:var(--text-secondary)}.auth-link a{color:var(--primary);text-decoration:none;font-weight:500}.toast{position:fixed;bottom:20px;right:20px;background:var(--text);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;z-index:9999;box-shadow:var(--shadow-md);animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.crm-panel{width:280px;background:var(--surface);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0}.chat-header button:hover{background:#f5f5f4}
