:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;--bg: #ededed;--panel: #f7f7f7;--card: #ffffff;--text: #111111;--muted: #7a7a7a;--line: #dedede;--bubble: #ffffff;--own-bubble: #95ec69;--button: #07c160;--button-text: #ffffff;--danger: #d93026;background:var(--bg);color:var(--text)}@media(prefers-color-scheme:dark){:root{--bg: #111111;--panel: #191919;--card: #202020;--text: #f2f2f2;--muted: #9a9a9a;--line: #2c2c2c;--bubble: #2a2a2a;--own-bubble: #2e7d32;--button: #07c160;--button-text: #ffffff;--danger: #ff6b6b}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);padding:10px 12px;outline:none}.boot-screen,.login-page,.empty-state{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.login-card{width:min(420px,calc(100vw - 32px));border-radius:16px;background:var(--card);box-shadow:0 12px 36px #0000001f;padding:28px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:var(--button);color:var(--button-text);font-weight:800}.eyebrow{margin:16px 0 8px;color:var(--muted);font-size:12px}.login-card h1{margin:0 0 8px}.muted{color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:14px;margin-top:22px}.login-card label{display:grid;gap:8px;color:var(--muted)}.login-card button,.send-button,.user-form button{border-radius:8px;background:var(--button);color:var(--button-text);padding:10px 14px}.error-box{border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);padding:10px 12px}.app-shell{display:grid;grid-template-columns:320px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto}.profile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.profile-text span,.conversation small,.user-row small,.sender-name,.attachment small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#6b8cff;color:#fff;font-weight:700;flex:0 0 auto}.avatar.small{width:36px;height:36px;font-size:14px}.icon-button,.admin-actions button{border-radius:8px;background:transparent;color:var(--muted);padding:8px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.admin-actions button{background:var(--card);color:var(--text)}.section-title{color:var(--muted);font-size:12px;padding:12px 14px 6px}.conversation-list,.user-list{display:grid}.conversation,.user-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:12px 14px}.contact-row{grid-template-columns:auto 1fr auto auto}.request-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 14px}.contact-row button,.request-row button{border-radius:6px;background:var(--button);color:var(--button-text);padding:7px 10px}.request-row .muted-button{background:transparent;color:var(--muted)}.conversation.active,.user-row:hover,.conversation:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.conversation-main,.user-main{min-width:0}.conversation-main small,.user-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:#b8b8b8}.dot.online{background:var(--button)}.workspace{display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:var(--bg)}.chat-header{display:flex;align-items:center;justify-content:space-between;min-height:58px;border-bottom:1px solid var(--line);background:var(--panel);padding:10px 16px}.chat-title{display:flex;align-items:center;gap:8px}.back-button{display:none;background:transparent;color:var(--text);font-size:28px;line-height:1;padding:0 8px 4px 0}.chat-header h2{margin:0;font-size:17px}.chat-header p{margin:2px 0 0;color:var(--muted);font-size:12px}.status-pill{color:var(--muted);font-size:12px}.message-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.message{display:flex;align-items:flex-start;gap:8px;max-width:78%}.message.own{align-self:flex-end;justify-content:flex-end}.bubble-wrap{min-width:0}.message.own .bubble-wrap{display:flex;justify-content:flex-end}.bubble{border-radius:6px;background:var(--bubble);padding:9px 11px;line-height:1.5;word-break:break-word}.message.own .bubble{background:var(--own-bubble);color:#111}@media(prefers-color-scheme:dark){.message.own .bubble{color:#fff}}.bubble p{margin:0;white-space:pre-wrap}.attachment{display:grid;gap:6px;color:inherit;text-decoration:none}.attachment img{max-width:min(260px,64vw);max-height:240px;border-radius:6px;object-fit:cover}.file-card{display:block;min-width:180px;border-radius:6px;background:color-mix(in srgb,var(--text) 8%,transparent);padding:12px}.composer{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;border-top:1px solid var(--line);background:var(--panel);padding:8px}.hidden-file{display:none}.round-button{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--muted);color:var(--muted);font-size:24px;line-height:1;padding:0 0 3px}.message-input{border-radius:8px;border:0;background:var(--card)}.audit-page,.admin-users{display:grid;grid-template-rows:auto auto 1fr;min-height:100vh}.audit-table{overflow:auto;padding:12px}.audit-row{display:grid;grid-template-columns:180px 160px 140px 140px minmax(260px,1fr);gap:12px;border-bottom:1px solid var(--line);padding:10px;color:var(--text)}.audit-row.head{position:sticky;top:0;background:var(--bg);color:var(--muted);font-weight:700}.audit-row code{white-space:pre-wrap;color:var(--muted)}.audit-row.users-head{grid-template-columns:1fr 1fr 100px 100px 180px}.user-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;border-bottom:1px solid var(--line);background:var(--panel);padding:12px}.user-form .error-box{grid-column:1 / -1}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{display:block;height:100vh;border-right:0}.workspace{display:none;height:100vh}.app-shell:has(.message-list) .sidebar{display:none}.app-shell:has(.message-list) .workspace{display:grid}.back-button{display:block}.message{max-width:86%}.status-pill{display:none}.user-form,.audit-row,.audit-row.users-head{grid-template-columns:1fr}}
