:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#172033;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:0;border-radius:9px;padding:9px 14px;background:#fe2c55;color:white;cursor:pointer}.ghost{background:#edf0f5;color:#34405a}main{display:grid;grid-template-columns:310px 400px 1fr;height:100vh}aside,section,article{background:white;border-right:1px solid #e7eaf0;overflow:auto}header{height:72px;padding:18px 20px;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between}h1,h2,p{margin:0}h2{font-size:18px}header span{font-size:12px;color:#8992a5}.account,.conversation{padding:14px 18px;border-bottom:1px solid #f0f2f6;cursor:pointer}.account{display:flex;justify-content:space-between}.account small{color:#8992a5}.conversation:hover,.conversation.active{background:#fff3f5}.conversation-top{display:flex;justify-content:space-between}.conversation p{margin-top:7px;color:#778196;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{background:#fe2c55;color:#fff;border-radius:12px;padding:1px 7px;font-size:12px}.empty{height:100%;display:grid;place-items:center;color:#98a0b1}.modal{position:fixed;inset:0;background:#101526;display:grid;place-items:center;z-index:10}.card{width:360px;background:#fff;padding:32px;border-radius:18px;display:grid;gap:16px}.card input{padding:12px;border:1px solid #dce0e8;border-radius:9px}.card small{color:#98a0b1}dialog{border:0;border-radius:16px;padding:0;width:520px}dialog form{padding:26px;display:grid;gap:18px}dialog label{display:grid;gap:7px}dialog input,dialog textarea{padding:11px;border:1px solid #dce0e8;border-radius:8px}dialog textarea{height:110px;resize:vertical}dialog form>div{display:flex;justify-content:flex-end;gap:10px}.chat-head{padding:20px;border-bottom:1px solid #edf0f5}.composer{position:absolute;bottom:20px;right:20px;left:710px;display:flex;gap:10px}.composer textarea{flex:1;height:90px;padding:12px;border:1px solid #dce0e8;border-radius:10px;resize:none}
[hidden]{display:none!important}
.maintenance{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:rgba(245,247,250,.94);text-align:center}.maintenance>div{max-width:440px;padding:30px 36px;border-radius:16px;background:#fff;box-shadow:0 14px 44px rgba(22,24,35,.15)}.maintenance h2{margin:14px 0 8px}.maintenance p{color:#667085;line-height:1.7}.maintenance button{margin-top:18px}.maintenance-spinner{display:inline-block;width:34px;height:34px;border:4px solid #ffd5de;border-top-color:#fe2c55;border-radius:50%;animation:maintenance-spin .8s linear infinite}@keyframes maintenance-spin{to{transform:rotate(360deg)}}
.account-toolbar{display:flex;align-items:center;gap:5px}.account-toolbar button,.account-toolbar a{padding:6px 8px;font-size:12px;white-space:nowrap}#manageAccess{display:inline-block;border-radius:9px;background:#fe2c55;color:#fff;text-decoration:none}#manageAccess:focus-visible{outline:2px solid #172033;outline-offset:3px}
#departmentManagement{width:min(1000px,95vw);max-height:90vh;overflow:auto}#departmentManagement header{position:sticky;top:0;background:white;z-index:1}#departmentManagement h3{font-size:16px;margin:12px 0}#departmentManagement [data-content]{padding:0 20px 20px}.management-notice{padding:12px 20px;color:#586174}.management-prerequisite{margin:0;color:#b45309;font-size:13px}.management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}#departmentManagement form{padding:16px;border:1px solid #e7eaf0;border-radius:10px;align-content:start;gap:12px}#departmentManagement select{padding:9px;max-width:100%;min-width:0}#departmentManagement input{min-width:0;width:100%}.management-table{overflow:auto}.management-table table{border-collapse:collapse;width:100%;text-align:left}.management-table td,.management-table th{padding:10px;border-bottom:1px solid #e7eaf0}
.message-list{padding:20px 22px 170px;height:calc(100vh - 72px);overflow:auto;background:#f7f8fb}.message{display:flex;margin:10px 0}.message span{max-width:70%;padding:10px 13px;border-radius:12px;background:#fff;box-shadow:0 1px 3px #dfe3eb}.message.mine{justify-content:flex-end}.message.mine span{background:#ffdfe5}
.identity{display:flex;align-items:center;gap:10px}.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 46px;background:#e8ebf1}.conversation{display:flex;gap:12px}.conversation-body{min-width:0;flex:1}.chat-head{height:72px}.chat-head .avatar{width:42px;height:42px;flex-basis:42px}
.notice-badge{background:#fff1d6;color:#a86100;border-radius:12px;padding:2px 7px;font-size:12px}.notice-panel{height:calc(100vh - 72px);display:grid;place-items:center;text-align:center;color:#596174}.notice-panel h2{margin-bottom:12px;color:#172033}.notice-panel p{margin-bottom:8px}.notice-panel small{color:#9299a8}
.conversation{padding:12px 16px;min-height:76px}.conversation-top b{font-size:15px;font-weight:500;color:#161823}.conversation small{display:none}.conversation p{font-size:13px;color:#8a8b91;margin-top:5px}.conversation:hover{background:#f5f5f7}.conversation.active{background:#ededf0}.message-list{background:#f7f7f8}.message span{font-size:14px;line-height:22px;padding:9px 13px;border-radius:7px;box-shadow:none}.composer{align-items:flex-end;background:#fff;border-top:1px solid #eee;bottom:0;padding:14px 20px;right:0}.composer textarea{border:0;background:#f4f4f5;height:90px}.empty-icon{font-size:42px;margin-bottom:10px}aside header span{display:block;font-size:11px;margin-top:3px;color:#999}aside{background:#f7f7f8}
.filters{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid #eee}.filters input,.filters select{min-width:0;border:0;border-radius:8px;background:#f4f4f5;padding:9px 10px;color:#333}.filters input{flex:1}.filters select{width:110px}.account.selected{background:#e9e9ed}.account small.online{color:#20a162}.account small.error{color:#e5484d}button:disabled{opacity:.55;cursor:wait}
.account{align-items:center}.account-identity{display:flex;align-items:center;gap:8px;min-width:0}.account-portrait{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden}.account-avatar-fallback{position:absolute;inset:0;display:grid!important;place-items:center;background:#ffe4e9;color:#d91f45;font-weight:600}.account-avatar{position:absolute;inset:0;width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e8ebf1}.account-portrait.broken .account-avatar{display:none}.account-main{min-width:0}.account-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-main small{display:block;margin-top:3px;font-size:11px}.account-actions{display:flex;gap:3px;align-items:center}.account-actions button{padding:5px 7px;background:transparent;color:#777;font-size:12px}.account-actions .rename-account{width:24px;height:24px;padding:0;border-radius:50%;font-size:15px}.account-actions button:hover{color:#fe2c55;background:#eee}.account-actions .login-account{background:#fe2c55;color:#fff;white-space:nowrap}.account-actions .login-account:hover{background:#e9274d;color:#fff}#unreadCount{font-style:normal;font-size:11px;background:#fe2c55;color:#fff;border-radius:10px;padding:2px 6px;vertical-align:2px}.quick-replies{display:flex;gap:7px;overflow:auto;padding:8px 20px;border-top:1px solid #eee;background:#fff}.quick-replies button{white-space:nowrap;background:#f3f3f5;color:#555;padding:6px 10px}.sync-meta{font-size:11px;color:#999}
.message.pending{opacity:.65}.message.pending span::after{content:' · 发送中';font-size:11px;opacity:.7}
.message.failed{opacity:.75}.message.failed span{outline:1px solid #e5484d}.message.failed span::after{content:' · 发送失败';font-size:11px;color:#b42318}
.message.uncertain span::after{content:' · 结果待确认，勿重复发送';font-size:11px;color:#8a5900}
.relation-badge{display:inline-block;margin-right:5px;padding:1px 6px;border-radius:9px;background:#e8f7ee;color:#16834b;font-size:11px;font-weight:400;vertical-align:2px;white-space:nowrap}
.message-image{display:block;max-width:min(320px,65vw);max-height:420px;border-radius:10px;object-fit:contain;background:#eee;cursor:zoom-in}
.message .share-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;max-width:min(360px,72vw);padding:8px}.share-card img{width:64px;height:64px;border-radius:6px;object-fit:cover;background:#eee}.share-card em{font-style:normal;line-height:20px;overflow-wrap:anywhere}
.composer-error{position:absolute;right:20px;bottom:116px;max-width:520px;padding:9px 12px;border-radius:8px;background:#fff0f2;color:#d91f45;border:1px solid #ffc7d2;font-size:13px;box-shadow:0 4px 16px #0001}
