:root{--bg: #f6f7f9;--panel: #ffffff;--border: #d9dee7;--text: #18202f;--muted: #667085;--primary: #1f6feb;--success: #0f766e;--code-bg: #101828}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.auth-shell{display:grid;min-height:100vh;place-items:center;background:var(--bg);padding:24px}.auth-card{width:min(420px,100%)}.auth-card h2{margin:0 0 6px}.auth-form{display:grid;gap:14px;margin-top:22px}.auth-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.auth-form input{height:38px;border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;padding:0 10px}.auth-form input:focus{border-color:var(--primary);outline:none}.auth-help{display:block;text-align:center}.settings-form{display:grid;gap:14px}.settings-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.settings-form input{height:38px;border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;padding:0 10px}.settings-form input:focus{border-color:var(--primary);outline:none}.settings-model-select{width:100%;height:38px}.settings-model-select .ant-select-selector{min-height:38px;border-color:var(--border)!important;border-radius:6px;box-shadow:none!important;font:inherit}.settings-model-select.ant-select-focused .ant-select-selector{border-color:var(--primary)!important}.settings-model-select .ant-select-selection-item,.settings-model-select .ant-select-selection-placeholder{line-height:36px}.settings-help{line-height:1.5}.settings-readonly{display:grid;gap:6px;color:var(--muted);font-size:13px}.settings-readonly-value{width:fit-content;max-width:100%;color:var(--text);font-size:14px;overflow-wrap:anywhere}.admin-content{min-height:0;overflow:auto;background:var(--bg);padding:20px}.user-management-page{display:grid;max-width:1040px;gap:16px}.user-page-header{display:flex;min-height:48px;align-items:center;justify-content:space-between}.user-page-header h2{margin:0 0 4px;font-size:20px}.user-management{display:grid;gap:16px}.user-create-panel{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fafbfc;padding:12px}.user-create-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}.user-create-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.user-create-form input{height:38px;border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;padding:0 10px}.user-create-form input:focus{border-color:var(--primary);outline:none}.token-create-form .ant-select-selector{min-height:38px;border-color:var(--border)!important;border-radius:6px;box-shadow:none!important;font:inherit}.token-create-form .ant-select-selection-item{line-height:36px}.user-management .ant-table-wrapper{overflow:auto}.app-shell{height:100vh;overflow:hidden}.sidebar{border-right:1px solid var(--border);padding:18px 16px;overflow:hidden}.sidebar .ant-layout-sider-children,.sidebar-content{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.conversation-drawer .ant-drawer-body{overflow:hidden;padding:18px 16px}.conversation-drawer .sidebar-content{height:100%}.brand{margin-bottom:18px}.brand>div:nth-child(2){min-width:0;flex:1}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#172033;color:#fff;font-weight:700}.brand h1,.topbar h2{margin:0}.brand h1{font-size:18px}.panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-top:1px solid var(--border);padding-top:16px}.panel h2{margin:0 0 12px;font-size:14px}.conversation-list{height:100%;min-height:0;overflow:auto;padding-right:4px}.conversation-list .ant-list-items{display:grid;gap:8px;padding-bottom:2px}.conversation-item{position:relative;box-sizing:border-box;min-width:0;border:1px solid var(--border);border-radius:6px;background:#fafbfc;cursor:default;padding:7px 64px 7px 9px!important}.conversation-list.ant-list-split .conversation-item:last-child{border-block-end:1px solid var(--border)}.conversation-item:hover{background:#fafbfc}.conversation-item.active{border-color:var(--primary);background:#eef5ff}.conversation-list.ant-list-split .conversation-item.active:last-child{border-block-end-color:var(--primary)}.conversation-item.active:hover{background:#eef5ff}.conversation-item .ant-list-item-action{position:absolute;top:50%;right:5px;display:flex;width:54px;justify-content:flex-end;margin-inline-start:6px;transform:translateY(-50%)}.conversation-item .ant-list-item-action>li{padding:0}.conversation-item .ant-typography{width:100%;min-width:0}.conversation-item .ant-list-item-action .ant-btn{opacity:0;pointer-events:none;transition:background .15s ease,color .15s ease,opacity .15s ease}.conversation-item:hover .ant-list-item-action .ant-btn,.conversation-item:focus-within .ant-list-item-action .ant-btn{opacity:1;pointer-events:auto}.conversation-delete:hover{background:#fee2e2!important;color:#b42318!important}.workspace{min-width:0;min-height:0;height:100vh;overflow:hidden}.topbar{display:flex;box-sizing:border-box;height:auto;min-height:64px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--panel);line-height:1.4;padding:16px 20px}.topbar-main{display:flex;min-width:0;align-items:center;gap:10px}.topbar-title{min-width:0}.topbar-title .ant-typography{display:block}.topbar-actions{flex-shrink:0}.mobile-conversation-trigger{display:none;flex-shrink:0}.topbar h2{font-size:18px}.messages{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;background:var(--bg);padding:20px}.message-row{display:flex;width:100%}.progress-anchor{width:100%}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message{width:fit-content;min-width:240px;max-width:min(760px,78%);position:relative}.message.user{background:#f8fbff}.message.assistant{background:#fff}.message.thinking{display:inline-flex;align-items:center;min-width:0;gap:6px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted)}.thinking-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:thinking-pulse 1.2s infinite ease-in-out}.thinking-dot:nth-child(2){animation-delay:.16s}.thinking-dot:nth-child(3){animation-delay:.32s}.thinking-text{margin-left:2px}@keyframes thinking-pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.analysis-progress{width:fit-content;min-width:360px;max-width:min(680px,78%)}.analysis-summary{line-height:1.6;margin-bottom:12px;overflow-wrap:anywhere}.analysis-steps{margin-top:10px}.analysis-error{margin-top:10px;max-width:100%}.analysis-steps .ant-list-item{border-block-end:0;padding:5px 0}.message-meta{position:absolute;top:calc(100% + 4px);left:0;color:var(--muted);font-size:12px;line-height:1;opacity:0;pointer-events:none;transition:opacity .12s ease}.message:hover .message-meta,.message:focus-within .message-meta{opacity:1}.message.user .message-meta{right:0;left:auto;text-align:right}.message-body{line-height:1.6;overflow-wrap:anywhere}.message-body>:first-child{margin-top:0}.message-body>:last-child{margin-bottom:0}.message-body p,.report-preview p{margin:0 0 12px}.message-body h1,.message-body h2,.message-body h3,.report-preview h1,.report-preview h2,.report-preview h3{margin:18px 0 12px}.message-body ul,.message-body ol,.report-preview ul,.report-preview ol{margin:8px 0 12px;padding-left:22px}.message-body li,.report-preview li{margin:4px 0}.message-body blockquote,.report-preview blockquote{border-left:3px solid var(--border);color:var(--muted);margin:12px 0;padding:4px 0 4px 12px}.message-body a,.report-preview a{color:var(--primary)}.message-body table{width:100%;border-collapse:collapse;margin:12px 0}.message-body th,.message-body td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}.message-body code,.message-body pre{background:var(--code-bg);color:#e5e7eb;border-radius:6px}.message-body code{padding:2px 5px}.message-body pre{overflow:auto;padding:12px}.report-preview{max-height:68vh;overflow:auto;line-height:1.7;padding-right:8px}.report-preview table{width:100%;border-collapse:collapse;margin:12px 0}.report-preview th,.report-preview td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}.report-preview code,.report-preview pre{background:var(--code-bg);color:#e5e7eb;border-radius:6px}.report-preview code{padding:2px 5px}.report-preview pre{overflow:auto;padding:12px}.report-link-card{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:100%;border:1px solid var(--border);border-radius:8px;background:#f8fbff;margin-top:12px;padding:10px 12px}.report-card-button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;flex:1;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.report-card-button:hover .report-card-title{color:var(--primary);text-decoration:underline}.report-card-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#e8f1ff;color:var(--primary);font-size:18px}.report-card-meta{display:grid;min-width:0;gap:2px}.report-card-title{min-width:0;color:var(--primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-card-desc{color:var(--muted);font-size:12px}.report-card-actions{flex-shrink:0}.message-attachment-list{display:grid;gap:8px;margin-top:10px}.message-attachment-card{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;max-width:360px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px 10px}.message.user .message-attachment-card{background:#eef5ff}.message-attachment-icon{color:var(--primary);font-size:18px}.message-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.openui-preview-list{display:grid;gap:12px;margin-top:12px}.message-body+.openui-preview-list{margin-top:14px}.openui-report{display:grid;gap:12px}.openui-section{min-width:0}.openui-summary{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;background:#f7faf9;padding:12px}.openui-summary-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.openui-summary-main strong{color:var(--success);font-size:22px;line-height:1.2}.openui-kicker{color:var(--muted);font-size:13px}.openui-chip-list{display:flex;flex-wrap:wrap;gap:6px}.openui-chip,.openui-confidence,.openui-evidence,.openui-risk-level{display:inline-flex;align-items:center;width:fit-content;min-height:24px;border-radius:6px;font-size:12px;line-height:1;padding:5px 8px}.openui-chip{background:#eef5ff;color:var(--primary)}.openui-confidence,.openui-evidence,.openui-risk-level{background:#f3f4f6;color:#374151}.openui-confidence.high,.openui-evidence.confirmed,.openui-risk-level.low{background:#e8f7ef;color:#177245}.openui-confidence.medium,.openui-evidence.likely,.openui-risk-level.medium{background:#fff7df;color:#8a5a00}.openui-confidence.low,.openui-confidence.unknown,.openui-evidence.unknown,.openui-risk-level.high{background:#fff1f0;color:#a8071a}.openui-compact-list{margin:0;padding-left:18px}.openui-compact-list li{margin:3px 0}.openui-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:8px}.openui-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}.openui-table th,.openui-table td{border-bottom:1px solid var(--border);padding:9px 10px;text-align:left;vertical-align:top}.openui-table th{background:#f8fbff;color:#374151;font-weight:600;white-space:nowrap}.openui-table tr:last-child td{border-bottom:0}.openui-risk-list{display:grid;gap:8px}.openui-risk{display:grid;gap:6px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 12px}.openui-risk-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.openui-risk p{margin:0}.openui-muted{color:var(--muted)}.composer{border-top:1px solid var(--border);background:var(--panel);padding:16px 20px}.composer-box{position:relative;display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 12px;transition:border-color .16s ease,box-shadow .16s ease}.composer-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #1664ff14}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:2px}.attachment-chip{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;width:210px;min-height:52px;border-radius:8px;background:#f3f4f6;padding:8px 28px 8px 10px}.attachment-icon{color:var(--muted);font-size:22px}.attachment-meta{display:grid;min-width:0;gap:2px}.attachment-remove{position:absolute;top:4px;right:4px;width:16px;min-width:16px;height:16px;border:0;border-radius:50%;background:#1f2937;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;padding:0;cursor:pointer}.attachment-remove:hover,.attachment-remove:focus-visible{background:#b42318!important;color:#fff!important;outline:none}.composer textarea{width:100%;border:0;color:var(--text);font:inherit;line-height:1.6;outline:none;min-height:86px;padding:2px 44px 32px 0;resize:none}.composer-file-input{display:none}.composer-box .composer-attach.ant-btn{position:absolute;left:12px;bottom:10px;z-index:2;width:30px!important;min-width:30px!important;min-inline-size:30px!important;height:30px!important;color:#6b7280!important;border:1px solid #d1d5db;background:#f9fafb;display:inline-flex;align-items:center;justify-content:center;padding:0!important}.composer-box .composer-attach.ant-btn:hover,.composer-box .composer-attach.ant-btn:focus-visible{border-color:#9ca3af!important;background:#f3f4f6!important;color:#111827!important}.composer-box .composer-send.ant-btn{position:absolute;right:8px!important;bottom:8px!important;z-index:2;width:30px!important;min-width:30px!important;min-inline-size:30px!important;height:30px!important;border-radius:50%;background:#111827;border-color:#111827;display:inline-flex;align-items:center;justify-content:center;padding:0!important;box-shadow:0 8px 18px #1118272e}.composer-box .composer-send.ant-btn .anticon{font-size:14px}.composer-box .composer-send.composer-stop.ant-btn:before{content:"";width:8px;height:8px;border-radius:2px;background:#fff}.composer-box .composer-send.composer-stop.ant-btn.ant-btn-loading:before{display:none}.composer-box .composer-send.ant-btn:hover,.composer-box .composer-send.ant-btn:focus-visible{background:#1f2937!important;border-color:#1f2937!important}.composer-box .composer-send.ant-btn.ant-btn-loading{background:#374151;border-color:#374151}.composer-box .composer-send.ant-btn:disabled,.composer-box .composer-send.ant-btn:disabled:hover{background:#9ca3af!important;border-color:#9ca3af!important;color:#fff!important;box-shadow:none;cursor:not-allowed}.model-row{min-width:0}.model-select{min-width:220px}.composer-actions{margin-top:10px}.composer-buttons{flex-shrink:0}@media(max-width:860px){.app-shell{display:flex;height:100dvh}.desktop-sidebar.ant-layout-sider{display:none}.app-shell.ant-layout-has-sider>.workspace.ant-layout{flex:1 1 auto!important;width:100%!important;min-width:0!important}.mobile-conversation-trigger{display:inline-flex}.message,.analysis-progress{max-width:92%;width:92%}.composer-actions{align-items:stretch;flex-direction:column}.composer-buttons{justify-content:flex-end}}@media(max-width:720px){.topbar{align-items:center;gap:10px;padding:10px 12px}.topbar-main{min-width:0}.topbar h2{font-size:16px}.topbar-actions .ant-btn{padding-inline:8px}.messages{gap:12px;padding:12px}.composer,.admin-content{padding:12px}.composer textarea{min-height:72px}.model-select{width:100%;min-width:0}.user-create-form{grid-template-columns:1fr}}
