:root{--bg: #f5f6f8;--panel: #ffffff;--line: #e3e6ea;--text: #23272e;--muted: #7a828e;--accent: #2f6df6;--accent-dark: #1e54d6;--danger: #d64545}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text)}button{border:none;border-radius:6px;background:var(--accent);color:#fff;padding:8px 14px;font-size:14px;cursor:pointer}button:hover{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}button.ghost:hover{background:var(--bg);color:var(--text)}button.ghost.danger{color:var(--danger)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}label.checkbox-row{flex-direction:row;align-items:center;gap:8px}label.checkbox-row input{width:auto}.shell{height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;height:52px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:700;letter-spacing:2px}.tabs{display:flex;gap:4px;flex:1}.tab{background:transparent;color:var(--muted);padding:6px 14px}.tab.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.user{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.content{flex:1;overflow:hidden}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#eef2fb,var(--bg))}.login-card{width:340px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 32px #23272e14}.login-card h1{margin:0;text-align:center;letter-spacing:4px}.login-sub{margin:-8px 0 4px;text-align:center;color:var(--muted);font-size:13px}.panel{height:100%;overflow:auto;padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2,.panel.form h2{margin:0}.panel.form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;gap:10px}.empty{color:var(--muted);text-align:center;margin-top:60px}.form-error{color:var(--danger);font-size:13px}.notice{color:#2c7a3f;font-size:13px}.form-error.floating{position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:#fdecec;border:1px solid var(--danger);border-radius:6px;padding:6px 14px}.agent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:720px}.agent-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.agent-main{display:flex;flex-direction:column;gap:4px;min-width:0}.agent-meta{color:var(--muted);font-size:12px}.agent-prompt{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-table{width:100%;max-width:760px;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.user-table th,.user-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}.user-table th{color:var(--muted);font-weight:500;background:var(--bg)}.user-table tr:last-child td{border-bottom:none}.chat-layout{height:100%;display:flex}.thread-bar{width:260px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}.thread-new{display:flex;gap:8px;padding:12px}.thread-list{list-style:none;margin:0;padding:0 8px;overflow:auto;flex:1}.thread{padding:10px 12px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.thread:hover{background:var(--bg)}.thread.active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.thread-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-agent{font-size:12px;color:var(--accent)}.chat-main{flex:1;display:flex;flex-direction:column;position:relative;min-width:0}.chat-head{padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel);font-weight:600;display:flex;gap:10px;align-items:center}.chat-agent-tag{font-size:12px;font-weight:400;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 8px;border-radius:10px}.messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:72%;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--line)}.tool-line{font-size:12px;color:var(--muted);background:var(--bg);border-radius:6px;padding:3px 8px;margin-bottom:6px;font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.cursor{animation:blink .9s infinite;color:var(--accent)}@keyframes blink{50%{opacity:0}}.composer{display:flex;gap:10px;padding:14px 20px;background:var(--panel);border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none}.composer button{align-self:flex-end}.empty-chat{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted)}
