:root{color:#202327;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;background:#f4f5f6;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box;letter-spacing:0}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:#f4f5f6;min-height:100svh}button,input,textarea,select{font:inherit}button{letter-spacing:0}a{color:inherit}#root{min-height:100svh}.route-loading{place-items:center;min-height:100svh;display:grid}.app-shell{min-height:100svh}.app-sider{border-right:1px solid #292d32;height:100svh;top:0;overflow:auto;position:sticky!important}.brand{color:#fff;border-bottom:1px solid #2b2f34;align-items:center;gap:12px;height:68px;padding:0 18px;display:flex;overflow:hidden}.brand[data-collapsed=true]{justify-content:center;padding:0}.brand-mark,.login-mark{color:#fff;background:#0f766e;border-radius:6px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:grid}.brand-mark{white-space:nowrap;font-size:13px;line-height:1}.brand-copy{white-space:nowrap;flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-copy strong{font-size:16px}.brand-copy span{color:#929aa4;margin-top:4px;font-size:10px;font-weight:700}.app-sider .ant-menu,.ant-drawer .ant-menu{padding:10px 8px;border-inline-end:0!important}.app-sider .ant-menu-item,.app-sider .ant-menu-submenu-title,.ant-drawer .ant-menu-item,.ant-drawer .ant-menu-submenu-title{border-radius:6px;width:100%;margin-inline:0}.app-header{z-index:100;border-bottom:1px solid #e7e9ec;justify-content:space-between;align-items:center;height:64px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #20232708;padding:0 24px!important}.header-icon-button{flex:0 0 38px;width:38px;height:38px}.account-trigger{cursor:pointer;color:#202327;background:0 0;border:0;align-items:center;gap:10px;min-width:42px;height:48px;padding:0 4px;display:flex}.account-trigger:hover{opacity:.82}.account-trigger .ant-avatar{color:#0f766e;background:#dceeea}.account-copy{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.account-copy .ant-typography:last-child{font-size:12px}.account-menu-identity{flex-direction:column;min-width:168px;display:flex}.account-menu-identity span{color:#7b8189;margin-top:3px;font-size:12px}.app-content{min-width:0;padding:24px}.page-stack{flex-direction:column;gap:18px;width:100%;max-width:1680px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;min-height:54px;display:flex}.page-header .ant-typography{margin:0}.page-header h3.ant-typography{margin-bottom:4px;font-size:23px;line-height:1.35}.surface-panel{background:#fff;border:1px solid #e4e7ea;border-radius:8px;min-width:0}.table-panel{overflow:hidden}.table-panel .ant-table-wrapper,.table-panel .ant-spin-nested-loading,.table-panel .ant-spin-container{min-width:0}.table-panel .ant-pagination{margin-inline:18px}.batch-toolbar{background:#f7f9f8;border-bottom:1px solid #e4e7ea;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 16px;display:flex}.batch-selection-count{color:#202623;font-weight:600}.filter-bar{background:#fff;border:1px solid #e4e7ea;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;min-height:64px;padding:13px 16px;display:flex}.filter-keyword{width:260px}.filter-select{width:160px}.filter-range{width:250px}.w-full{width:100%}.qr-popover-content{text-align:center;flex-direction:column;align-items:center;gap:8px;width:176px;padding:4px;display:flex}.qr-popover-content svg{width:156px;height:156px;display:block}.url-link{color:#0f766e;white-space:nowrap;font-weight:600}.url-link:hover{color:#0b5e58}.project-name-cell,.user-cell{flex-direction:column;min-width:0;line-height:1.35;display:flex}.project-name-cell strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-name-cell span,.user-cell small{color:#8a9098;margin-top:3px;font-size:11px}.tag-button,.table-text-button{cursor:pointer;text-align:left;background:0 0;border:0;margin:0;padding:0}.table-text-button{color:#202327;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.table-text-button:hover{color:#0f766e}.two-column-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.user-avatar{color:#0f766e!important;background:#dceeea!important}.role-icon{color:#2563eb;background:#edf4fb;border-radius:6px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:17px;display:grid}.permission-tree{border:1px solid #e4e7ea;border-radius:6px;margin-top:20px;padding:14px}.provider-icon{color:#7c3a12;background:#f7e8da;border-radius:6px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:17px;display:grid}.provider-health{background:#a3a8ae;border-radius:50%;width:8px;height:8px;display:inline-block}.provider-health.success{background:#16803c}.provider-health.failed{background:#c2413b}.code-upload-panel{background:#f7f8f9;border:1px solid #e4e7ea;border-radius:8px;padding:16px}.code-upload-fields{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px;display:grid}.code-upload-icon{color:#0f766e;vertical-align:middle;margin-right:8px;font-size:22px}.code-assets-table{border:1px solid #e4e7ea;border-radius:8px;margin-top:18px;overflow:hidden}.code-asset-name{flex-direction:column;min-width:0;display:flex}.code-asset-name small{color:#7b8189;text-overflow:ellipsis;white-space:nowrap;max-width:190px;margin-top:3px;overflow:hidden}.code-warning-icon{color:#b45309}.ai-composer{grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:12px;padding:18px;display:grid}.ai-composer-actions{flex-direction:column;gap:10px;display:flex}.ai-composer-actions .ant-select,.ai-composer-actions .ant-btn{width:100%}.ai-search-loading,.ai-search-empty{place-items:center;min-height:260px;display:grid}.ai-answer-panel{padding:20px}.ai-section-title{justify-content:space-between;align-items:flex-start;gap:12px;min-height:34px;display:flex}.ai-section-title strong{font-size:16px}.ai-answer-text.ant-typography{white-space:pre-wrap;margin:12px 0 16px;line-height:1.75}.ai-results-panel{overflow:hidden}.ai-results-panel>.ai-section-title{border-bottom:1px solid #e4e7ea;padding:17px 20px 12px}.ai-results-list{flex-direction:column;display:flex}.ai-result-item{border-bottom:1px solid #e8eaed;min-width:0;padding:18px 20px}.ai-result-item:last-child{border-bottom:0}.ai-result-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.ai-result-heading>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.ai-project-link{color:#202327;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;width:fit-content;max-width:100%;padding:0;font-size:16px;font-weight:700;overflow:hidden}.ai-project-link:hover{color:#0f766e}.ai-match-reasons{color:#565d65;margin:12px 0;padding-left:20px;line-height:1.65}.ai-code-evidence-list{flex-direction:column;gap:8px;margin:12px 0;display:flex}.ai-code-evidence{border:1px solid #dfe3e7;border-radius:6px;min-width:0;overflow:hidden}.ai-code-evidence>div{background:#f4f6f7;border-bottom:1px solid #dfe3e7;align-items:center;gap:8px;min-height:38px;padding:7px 10px;display:flex;overflow:hidden}.ai-code-evidence code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-code-evidence pre{color:#eceff1;white-space:pre-wrap;word-break:break-word;background:#202327;max-height:240px;margin:0;padding:12px;font-size:12px;line-height:1.55;overflow:auto}.project-drawer .ant-drawer-content-wrapper,.permission-drawer .ant-drawer-content-wrapper,.code-assets-drawer .ant-drawer-content-wrapper{max-width:100vw}.rich-text-editor,.rich-text-editor-loading{background:#fff;border:1px solid #d9dce1;border-radius:6px;width:100%;min-height:238px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.rich-text-editor:focus-within{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1a}.rich-text-editor[data-disabled=true]{background:#f5f5f5}.rich-text-toolbar{background:#f7f8f9;border-bottom:1px solid #e4e7ea;flex-wrap:wrap;align-items:center;gap:2px;min-height:44px;padding:5px 7px;display:flex}.rich-text-toolbar .ant-btn{width:32px;min-width:32px;height:32px;padding:0}.rich-text-toolbar .rich-text-style-button{width:auto;min-width:76px;padding:0 8px}.rich-text-toolbar .ant-divider-vertical{height:20px;margin-inline:5px}.rich-text-toolbar-spacer{flex:1;min-width:8px}.rich-text-content .tiptap{color:#202327;outline:0;min-height:192px;max-height:420px;padding:14px 16px;line-height:1.7;overflow-y:auto}.rich-text-content .tiptap>:first-child{margin-top:0}.rich-text-content .tiptap>:last-child{margin-bottom:0}.rich-text-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9aa0a8;pointer-events:none;height:0}.rich-text-content .tiptap h2,.rich-text-content .tiptap h3{margin:18px 0 8px;line-height:1.4}.rich-text-content .tiptap h2{font-size:20px}.rich-text-content .tiptap h3{font-size:17px}.rich-text-content .tiptap ul,.rich-text-content .tiptap ol{padding-left:24px}.rich-text-content .tiptap blockquote{color:#676d75;border-left:3px solid #8bb8b3;margin:12px 0;padding:2px 0 2px 14px}.rich-text-content .tiptap pre{color:#f4f5f6;background:#202327;border-radius:6px;padding:12px;overflow-x:auto}.rich-text-content .tiptap img{border:1px solid #e4e7ea;border-radius:6px;max-width:100%;height:auto;margin:12px auto;display:block}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:#fff;border:1px solid #e4e7ea;border-radius:8px;align-items:center;gap:16px;min-width:0;min-height:112px;padding:20px;display:flex}.stat-icon,.module-entry-icon{border-radius:7px;flex:none;place-items:center;display:grid}.stat-icon{width:46px;height:46px;font-size:20px}.stat-icon.teal,.module-entry-icon.teal{color:#0f766e;background:#dceeea}.stat-icon.amber,.module-entry-icon.amber{color:#a45b0a;background:#fbedd3}.stat-icon.blue,.module-entry-icon.blue{color:#2563eb;background:#e3eefb}.stat-icon.green,.module-entry-icon.green{color:#15803d;background:#e2f2e5}.stat-icon.red,.module-entry-icon.red{color:#c2413b;background:#f8e6e4}.stat-card>div:last-child{flex-direction:column;min-width:0;display:flex}.stat-card strong{color:#17191c;margin-top:5px;font-size:27px;line-height:1.1}.module-strip{padding:18px 0 2px}.section-heading{justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:0 18px;display:flex}.module-strip .section-heading{padding:0 2px}.section-heading>div{flex-direction:column;display:flex}.section-heading strong{font-size:16px}.section-heading .ant-typography{margin-top:2px;font-size:12px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.module-entry{text-align:left;color:#202327;cursor:pointer;background:#fff;border:1px solid #e4e7ea;border-radius:8px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:84px;padding:16px;display:grid}.module-entry:hover{border-color:#92bbb6;box-shadow:0 5px 16px #20232712}.module-entry-icon{width:42px;height:42px;font-size:18px}.module-entry>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.module-entry .ant-typography{margin-top:3px;font-size:12px}.module-entry>.anticon{color:#9aa0a8}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.dashboard-recent,.category-panel{overflow:hidden}.distribution-list{flex-direction:column;gap:17px;padding:8px 18px 20px;display:flex}.distribution-item>div:first-child{justify-content:space-between;gap:12px;font-size:13px;display:flex}.distribution-track{background:#edf0f2;border-radius:3px;width:100%;height:7px;margin-top:7px;overflow:hidden}.distribution-track span{background:#0f766e;border-radius:3px;height:100%;display:block}.login-page{background:#fff;grid-template-columns:minmax(360px,44%) minmax(0,1fr);min-height:100svh;display:grid}.login-brand-panel{color:#fff;background:#181b1f;flex-direction:column;justify-content:space-between;min-height:100%;padding:54px clamp(36px,6vw,90px);display:flex;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";pointer-events:none;border:1px solid #32373d;position:absolute}.login-brand-panel:before{inset:18% -20% 24% 32%}.login-brand-panel:after{width:260px;height:260px;bottom:70px;right:-130px}.login-brand,.login-brand-title,.login-meta{z-index:1;position:relative}.login-brand{color:#c7ccd2;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.login-brand-title .ant-typography{color:#fff}.login-brand-title h1.ant-typography{margin:0 0 12px;font-size:48px;line-height:1.18}.login-brand-title .ant-typography:last-child{color:#aab0b8;font-size:17px}.login-meta{color:#737b85;font-size:11px;font-weight:700}.login-form-panel{place-items:center;min-height:100%;padding:48px 24px;display:grid}.login-form-wrap{width:min(100%,420px)}.login-form-heading{margin-bottom:30px}.login-form-heading h2.ant-typography{margin:0 0 7px;font-size:28px}.login-form-wrap .ant-alert{margin-bottom:18px}.login-form-wrap .ant-form-item{margin-bottom:20px}.login-form-wrap .ant-btn{height:44px;margin-top:4px}@media (width<=1280px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.category-panel{max-width:none}}@media (width<=991px){.app-content{padding:20px}.app-header{padding:0 16px!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr}.login-brand-panel{padding:44px 36px}}@media (width<=760px){.login-page{grid-template-rows:190px minmax(0,1fr);grid-template-columns:1fr}.login-brand-panel{min-height:190px;padding:26px 24px}.login-brand-title h1.ant-typography{margin-bottom:5px;font-size:32px}.login-brand-title .ant-typography:last-child{font-size:14px}.login-meta{display:none}.login-form-panel{place-items:start center;padding:34px 20px}.page-header{flex-direction:column;align-items:stretch}.page-header>.ant-space{width:100%}.page-header>.ant-space .ant-space-item,.page-header>.ant-space .ant-btn{flex:1}.filter-bar{align-items:stretch}.filter-keyword,.filter-select,.filter-range,.filter-bar>.ant-segmented,.filter-bar>.ant-space{width:100%}.filter-bar>.ant-space .ant-space-item:first-child,.filter-bar>.ant-space .ant-space-item:first-child .ant-btn{flex:1}.batch-toolbar{flex-direction:column;align-items:stretch}.batch-toolbar>.ant-space:last-child,.batch-toolbar>.ant-space:last-child .ant-space-item,.batch-toolbar>.ant-space:last-child .ant-btn{width:100%}.two-column-form{grid-template-columns:1fr;gap:0}.ai-composer,.code-upload-fields{grid-template-columns:1fr}.code-upload-fields .ant-btn{width:100%}}@media (width<=560px){.app-content{padding:16px 12px}.app-header .ant-breadcrumb{display:none}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:94px;padding:16px}.page-header h3.ant-typography{font-size:21px}.table-panel .ant-pagination{margin-inline:10px}.ai-result-heading{flex-direction:column}.ai-result-item,.ai-answer-panel{padding:16px}}.workspace-name-button{color:#202327;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-width:0;padding:0;display:flex}.workspace-name-button>span:last-child{flex-direction:column;min-width:0;display:flex}.workspace-name-button strong,.workspace-name-button small{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.workspace-name-button small{color:#7b8189;margin-top:3px}.workspace-list-icon,.workspace-title-icon{color:#2563eb;background:#e3eefb;border-radius:6px;flex:none;place-items:center;display:grid}.workspace-list-icon{width:38px;height:38px;font-size:17px}.table-inline-link.ant-btn{height:auto;padding:0}.workspace-editor-page{flex-direction:column;gap:12px;min-width:0;display:flex}.workspace-editor-header{background:#fff;border:1px solid #e4e7ea;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:8px 12px;display:flex}.workspace-editor-header>.ant-space:first-child{min-width:0}.workspace-title-icon{width:38px;height:38px;font-size:17px}.workspace-title-copy{flex-direction:column;min-width:0;display:flex}.workspace-title-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:360px;font-size:16px;overflow:hidden}.workspace-title-copy>span{color:#7b8189;text-overflow:ellipsis;white-space:nowrap;max-width:420px;margin-top:2px;font-size:12px;overflow:hidden}.workspace-ide-grid{grid-template-columns:minmax(285px,.68fr) minmax(480px,1.2fr) minmax(430px,1fr);gap:12px;height:calc(100svh - 190px);min-height:610px;display:grid}.ide-pane{background:#fff;border:1px solid #dfe3e7;border-radius:8px;min-width:0;min-height:0;overflow:hidden}.ide-pane-heading{border-bottom:1px solid #e4e7ea;justify-content:space-between;align-items:center;gap:8px;min-height:50px;padding:9px 12px;display:flex}.ide-pane-heading>.ant-typography{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}.ide-chat-pane{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.workspace-message-list{background:#f7f8f9;min-height:0;padding:12px;overflow-y:auto}.workspace-message-list>.ant-empty{margin-top:80px}.workspace-message{background:#fff;border:1px solid #e1e4e7;border-radius:7px;max-width:96%;margin-bottom:12px;padding:11px 12px}.workspace-message.user{background:#e8f3f1;border-color:#c7dfdb;margin-left:auto}.workspace-message>div:first-child{justify-content:space-between;gap:8px;font-size:11px;display:flex}.workspace-message>div:first-child span{color:#92989f}.workspace-message .ant-typography{color:#30343a;white-space:pre-wrap;margin:7px 0 0;font-size:13px;line-height:1.65}.workspace-message.pending{color:#5f666e;align-items:center;gap:9px;display:flex}.workspace-chat-composer{border-top:1px solid #e4e7ea;flex-direction:column;gap:8px;padding:10px;display:flex}.ide-code-pane{grid-template-rows:auto minmax(0,1fr);display:grid}.workspace-code-layout{grid-template-columns:190px minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace-file-tree{background:#f7f8f9;border-right:1px solid #e4e7ea;min-width:0;padding:8px 4px;overflow:auto}.workspace-file-tree .ant-tree{background:0 0;min-width:max-content;font-size:12px}.workspace-editor-area{grid-template-rows:42px minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace-editor-tab{background:#f3f5f6;border-bottom:1px solid #dfe3e7;align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.workspace-editor-tab code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.workspace-code-editor{resize:none;color:#e9edf0;tab-size:2;white-space:pre;background:#202327;border:0;outline:0;width:100%;min-width:0;height:100%;min-height:0;padding:16px;font-family:Consolas,SFMono-Regular,monospace;font-size:13px;line-height:1.6}.workspace-editor-empty,.workspace-preview-empty{place-items:center;min-height:280px;display:grid}.workspace-asset-preview{background:#202327;flex-direction:column;justify-content:center;gap:10px;padding:20px;display:flex;overflow:auto}.workspace-asset-preview .ant-image{max-width:min(100%,860px);max-height:620px}.workspace-asset-preview img{object-fit:contain;max-width:100%;max-height:620px}.ide-preview-pane{grid-template-rows:auto auto auto minmax(0,1fr);display:grid}.workspace-run-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.workspace-run-toolbar .ant-btn:not(.ant-btn-primary){min-width:34px;padding-inline:8px}.ide-preview-pane>.ant-alert{margin:8px 10px 0}.workspace-preview-tabs{grid-template-rows:auto minmax(0,1fr);min-height:0;margin-top:0;display:grid}.workspace-preview-tabs>.ant-tabs-nav{margin:0;padding:0 12px}.workspace-preview-tabs>.ant-tabs-content-holder,.workspace-preview-tabs .ant-tabs-content,.workspace-preview-tabs .ant-tabs-tabpane{height:100%;min-height:0}.workspace-preview-frame{background:#fff;border:0;width:100%;height:100%;min-height:420px;display:block}.workspace-run-logs{color:#e7ebee;white-space:pre-wrap;word-break:break-word;background:#202327;width:100%;height:100%;min-height:420px;margin:0;padding:14px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.6;overflow:auto}.workspace-mobile-ide{min-width:0;overflow:hidden}.workspace-mobile-ide>.ant-tabs>.ant-tabs-nav{margin:0;padding:0 14px}.workspace-mobile-ide .ide-pane{border:0;border-radius:0;height:calc(100svh - 260px);min-height:620px}.workspace-revisions-drawer .ant-drawer-content-wrapper{max-width:100vw}@media (width<=1500px){.workspace-ide-grid{grid-template-columns:minmax(270px,.62fr) minmax(440px,1fr) minmax(390px,.9fr)}.workspace-run-toolbar .ant-btn>span:not(.ant-btn-icon,.anticon){display:none}}@media (width<=991px){.workspace-editor-header{flex-direction:column;align-items:flex-start}.workspace-editor-header>.ant-space:last-child{width:100%}}@media (width<=560px){.workspace-title-copy strong{max-width:180px}.workspace-editor-header>.ant-space:last-child .ant-btn{flex:1}.workspace-code-layout{grid-template-columns:138px minmax(0,1fr)}.workspace-run-toolbar{justify-content:flex-start}}
