:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2924;background:#f5f4f0;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:256px;background:#eeece6;border-right:1px solid #dfddd6;padding:28px 18px 20px;display:flex;flex-direction:column;gap:28px}.logo{display:flex;align-items:center;gap:10px;font-size:18px;color:#16382b}.brand-mark{width:40px;height:40px;background:#18543b;border-radius:12px;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800}.brand-mark.small{width:32px;height:32px;border-radius:9px;font-size:17px}.nav-label,.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#758179;font-weight:700}.space-switch{display:grid;gap:9px}.space-switch .nav-label{padding:0 10px}.space{border:0;background:none;text-align:left;padding:10px;border-radius:9px;color:#536058;display:flex;gap:10px;align-items:center}.space:hover,.space.active{background:#e1e6de;color:#194a36;font-weight:700}.space span{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;background:#9caa9e}.dot.company{background:#b07e45}nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;color:#66716a;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:13px;text-align:left}.nav-item:first-letter{font-size:18px}.nav-item.active,.nav-item:hover{background:#dfe8df;color:#18543b;font-weight:700}.nav-item.bottom{margin-top:auto}.user-chip{border-top:1px solid #dad8d0;padding:18px 7px 0;display:flex;gap:10px;align-items:center}.avatar{background:#d5dfd3;color:#18543b;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700}.user-chip strong,.user-chip small{display:block}.user-chip small{font-size:11px;color:#78827b}.content{flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid #e2e0da;display:flex;align-items:center;justify-content:space-between;padding:0 50px;background:#f8f7f4}.breadcrumb{font-size:13px;color:#6c776f}.breadcrumb span{padding:0 8px;color:#b0b5ae}.online{font-size:12px;color:#6b766f}.online i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4f9a64;margin-right:7px}.workspace-page{padding:48px 50px;max-width:1440px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:35px}.page-heading h1{font-size:32px;letter-spacing:-.03em;margin:5px 0 7px;color:#1e3026}.muted{color:#7a847d;font-size:13px;margin:0}.button{border:0;border-radius:8px;padding:10px 17px;text-decoration:none;display:inline-block;font-weight:700;font-size:13px}.button.primary{background:#18543b;color:#fff}.button.primary:hover{background:#103e2b}.button.wide{width:100%;margin-top:8px}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:17px}.material-card{background:#fff;border:1px solid #e6e5df;border-radius:12px;padding:21px;min-height:256px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.material-card:hover{box-shadow:0 8px 25px #23352a12;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;align-items:center}.file-icon{font-size:10px;color:#18543b;background:#e5eee5;border-radius:5px;padding:4px 6px;font-weight:800}.status{font-size:11px;color:#6d796f}.material-card h2{font-size:17px;margin:18px 0 8px;color:#27382e}.summary{color:#6b766f;font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.tag{font-size:11px;color:#68766d;background:#f0f3ee;padding:3px 7px;border-radius:4px}.card-meta{font-size:11px;color:#9aa19b;border-top:1px solid #f0efeb;padding-top:13px;margin-top:auto}.text-button{border:0;background:transparent;color:#236247;font-size:12px;padding:8px 0;text-align:left;font-weight:700}.empty-state{min-height:260px;border:1px dashed #ccd4cc;border-radius:12px;background:#fafbf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#68756c;font-size:13px}.empty-state strong{font-size:16px;color:#34463a}.error{color:#a34f42}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:430px;background:#fff;box-shadow:-10px 0 35px #18271c1c;padding:55px 38px;z-index:4}.detail-drawer h2{font-size:24px;color:#20372a}.detail-drawer h3{font-size:13px;margin-top:30px;color:#526157}.detail-drawer li{font-size:13px;margin:7px 0;color:#58645b}.close{position:absolute;right:25px;top:20px;border:0;background:none;font-size:28px;color:#829087}.drop-zone{border:1.5px dashed #aebdaf;background:#fbfcf9;border-radius:12px;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#38634b}.drop-zone span{font-size:12px;color:#89948c}.drop-zone.dragging{border-color:#18543b;background:#edf5ed}.upload-list{margin-top:20px;display:grid;gap:9px}.upload-row{background:#fff;border:1px solid #e5e7e2;border-radius:10px;padding:14px 18px;display:grid;grid-template-columns:1fr 210px 120px;gap:20px;align-items:center}.upload-name{display:flex;gap:11px;align-items:center;min-width:0}.upload-name strong,.upload-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-name strong{font-size:13px}.upload-name span{font-size:11px;color:#8a938d;margin-top:3px}.progress{height:5px;background:#edf0eb;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;background:#52916b;border-radius:5px}.upload-actions{text-align:right}.login-page{min-height:100vh;display:grid;place-items:center;background:#f5f4f0}.login-card{width:380px;background:#fff;border:1px solid #e7e5df;border-radius:15px;padding:43px 42px;box-shadow:0 12px 40px #23352a0b}.login-card .brand-mark{margin-bottom:25px}.login-card h1{font-size:30px;margin:5px 0}.login-card form{margin-top:28px}.login-card label{display:block;color:#59665d;font-size:12px;font-weight:700;margin:15px 0}.login-card input{display:block;width:100%;border:1px solid #d8ded8;border-radius:7px;padding:10px 11px;margin-top:7px;outline:none}.login-card input:focus{border-color:#4d8a64;box-shadow:0 0 0 3px #4d8a6417}.form-error,.notice.error{color:#a64c3f;font-size:12px}.app-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:8px;color:#65736a}.app-loading h1{color:#274333}.spinner{width:15px;height:15px;border:2px solid #d5dfd4;border-top-color:#18543b;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.notice{margin:18px 50px;padding:11px 14px;background:#fff1ef;border-radius:8px}.search-bar{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;background:#fff;border:1px solid #e6e5df;border-radius:12px}.search-bar input{flex:1;min-width:0;border:1px solid #d8ded8;border-radius:8px;background:#fbfcf9;padding:10px 12px;color:#27382e;outline:none}.search-bar input::placeholder{color:#9aa59d}.search-bar input:focus,.taxonomy-filters select:focus,.panel input:focus,.panel select:focus,.panel textarea:focus{border-color:#4d8a64;box-shadow:0 0 0 3px #4d8a6417;outline:none}.taxonomy-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:22px;padding:15px 16px;background:#fbfcf9;border:1px solid #e1e8e0;border-radius:12px}.taxonomy-filters label,.panel form label{display:flex;flex-direction:column;gap:6px;color:#59665d;font-size:12px;font-weight:700}.taxonomy-filters select,.panel select,.panel input,.panel textarea{width:100%;border:1px solid #d8ded8;border-radius:8px;background:#fff;color:#27382e;padding:9px 11px;outline:none}.panel textarea{min-height:92px;resize:vertical}.panel{background:#fff;border:1px solid #e6e5df;border-radius:14px;padding:25px;box-shadow:0 8px 25px #23352a0a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:15px;border-bottom:1px solid #eef0eb}.panel-header h2{margin:0;color:#23382a;font-size:20px}.panel-header nav{display:flex;flex-wrap:wrap;gap:6px}.panel-header nav button{border:1px solid transparent;border-radius:7px;background:#f0f3ee;color:#607066;padding:7px 11px;font-size:12px}.panel-header nav button:hover{border-color:#b8c9ba;color:#18543b;background:#e5eee5}.card{background:#fff;border:1px solid #e6e5df;border-radius:11px;padding:17px;margin-top:12px}.admin-panel,.settings-panel,.chat-panel{margin:38px 50px;max-width:1180px}.admin-panel .reauth{padding:13px 15px;margin-bottom:18px;background:#f7faf6;border:1px solid #e1e8e0;border-radius:9px}.admin-panel .reauth label{display:flex;align-items:center;gap:10px;color:#59665d;font-size:12px;font-weight:700}.admin-panel .reauth input{max-width:260px}.admin-panel>form.card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.admin-panel>form.card textarea{grid-column:span 2}.admin-panel>form.card button{align-self:end;min-height:39px}.admin-panel article.card{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-panel article.card>b{color:#27382e}.admin-panel article.card>input{flex:1;min-width:220px}.admin-panel article.card>span{color:#7a847d;font-size:12px}.admin-panel article.card form{flex-basis:100%;display:grid;grid-template-columns:1fr auto;gap:10px}.settings-panel form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:end}.settings-panel form button{min-height:39px}.settings-panel p{font-size:12px}.chat-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.chat-toolbar label{display:flex;align-items:center;gap:8px;color:#59665d;font-size:12px;font-weight:700}.chat-toolbar select{width:auto;min-width:160px}.chat-messages{min-height:300px;max-height:55vh;overflow:auto;padding:6px 2px}.chat-message{max-width:78%;margin:10px 0;padding:12px 15px;border-radius:11px;background:#f0f3ee;color:#33473a}.chat-message.user{margin-left:auto;background:#e5eee5}.chat-message strong{font-size:11px;color:#18543b}.chat-message p{margin:5px 0;font-size:13px;white-space:pre-wrap}.chat-compose{display:flex;gap:10px;align-items:flex-end;margin-top:14px}.chat-compose textarea{flex:1;min-height:74px}.chat-compose button{border:0;border-radius:8px;background:#18543b;color:#fff;padding:10px 17px;font-weight:700}input[type=checkbox]{width:auto!important;accent-color:#18543b}.panel label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:8px;font-weight:400}@media(max-width:900px){.sidebar{width:210px}.workspace-page{padding:35px 25px}.topbar{padding:0 25px}.upload-row{grid-template-columns:1fr}.upload-actions{text-align:left}.admin-panel,.settings-panel,.chat-panel{margin:28px 25px}.taxonomy-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}.admin-panel>form.card{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-panel form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sidebar{width:74px;padding:20px 10px}.sidebar .logo strong,.sidebar .nav-label,.sidebar .space:not(.active) span,.sidebar .space-switch .space:not(.active),.sidebar .nav-item span,.sidebar .user-chip div{display:none}.sidebar .space{justify-content:center}.sidebar .nav-item{justify-content:center;padding:11px 4px}.user-chip{justify-content:center;padding-left:0;padding-right:0}.topbar{padding:0 18px}.workspace-page{padding:28px 18px}.page-heading{align-items:flex-start;gap:16px;flex-direction:column}.search-bar{align-items:stretch;flex-direction:column}.taxonomy-filters{grid-template-columns:1fr}.admin-panel,.settings-panel,.chat-panel{margin:20px 18px;padding:18px}.admin-panel>form.card,.settings-panel form{grid-template-columns:1fr}.admin-panel>form.card textarea{grid-column:auto}.panel-header{align-items:flex-start;flex-direction:column}.chat-message{max-width:92%}}.source-maintenance{display:flex;align-items:center;gap:10px;margin-top:12px}.source-select{flex:1;min-width:0;border:1px solid #d8ded8;border-radius:7px;padding:10px 11px;background:#fff;color:#1f2924;outline:none}.source-select:focus{border-color:#4d8a64;box-shadow:0 0 0 3px #4d8a6417}.source-add{flex:0 0 auto}.source-success{color:#2f7347;font-size:12px}.detail-drawer{max-height:100vh;overflow-y:auto;width:520px;max-width:100vw}.detail-drawer .detail-summary{font-size:14px;line-height:1.75;color:#4b5850;white-space:pre-wrap}.detail-drawer ul{padding-left:18px}.analysis-notice{margin:10px 0 0;padding:9px 12px;border-radius:8px;background:#fff7e6;color:#8a5a12;font-size:12px}.metadata-editor{display:grid;gap:14px;margin-top:10px}.metadata-editor h3,.metadata-editor .muted{margin:0}.metadata-editor label{display:flex;flex-direction:column;gap:6px;color:#59665d;font-size:12px;font-weight:700}.metadata-editor textarea,.metadata-editor select{width:100%;border:1px solid #d8ded8;border-radius:8px;background:#fff;color:#27382e;padding:9px 11px;font-weight:400;outline:none}.metadata-editor textarea:focus,.metadata-editor select:focus{border-color:#4d8a64;box-shadow:0 0 0 3px #4d8a6417}.metadata-editor textarea{min-height:140px;resize:vertical}.metadata-editor select[multiple]{min-height:96px}.metadata-editor .button{justify-self:start;background:#18543b;color:#fff}.user-chip{position:relative}.user-chip .text-button{margin-left:auto;white-space:nowrap}.forced-settings-inner>.text-button{margin-top:12px}.panel-header nav button.active{background:#dfe8df;color:#18543b;border-color:#b8c9ba;font-weight:700}.field-hint{font-size:11px;color:#7a847d;font-weight:400}.feedback-form,.rating-form{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:18px}.feedback-form button,.rating-form button{align-self:flex-start;margin-top:4px}.feedback-form label,.rating-form label{display:flex;flex-direction:column;gap:6px}.card-meta span:nth-child(4){grid-column:1 / -1;grid-row:1}.card-meta span:nth-child(1){grid-column:1;grid-row:2}.card-meta span:nth-child(2){grid-column:2;grid-row:2}.card-meta span:nth-child(3){grid-column:1;grid-row:3}.card-meta span:nth-child(5){grid-column:2;grid-row:3}@media(max-width:600px){.sidebar .space-switch .space:not(.active){display:flex}.sidebar .space-switch .space span{display:none}}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fb89a;outline-offset:3px}.panel button:not(.text-button),.workspace-page button:not(.text-button):not(.close):not(.button),.detail-drawer button:not(.text-button):not(.close):not(.button){border:1px solid #ccd8ce;border-radius:8px;background:#f5f8f3;color:#245039;padding:8px 13px;font-size:13px;line-height:1.4}.panel button[type=submit],.detail-drawer button[type=submit]{background:#18543b;color:#fff;border-color:#18543b}.panel button:not(:disabled):hover,.workspace-page button:not(:disabled):hover{filter:brightness(.97)}.panel a,.detail-drawer a{color:#236247;text-underline-offset:3px}.panel [role=alert]{padding:10px 12px;background:#fff1ef;border-radius:8px;color:#a34f42}.sidebar{flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;gap:24px}.sidebar>.nav-item{margin-top:auto}.sidebar .avatar{flex-shrink:0}.user-chip{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px 10px}.user-chip>div{min-width:0;flex:1}.user-chip strong,.user-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip .text-button{grid-column:2;margin:0}.card-meta{color:#6f7c72;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card-meta span{overflow-wrap:anywhere}.card-meta span:nth-child(3),.card-meta span:nth-child(5){white-space:nowrap}.material-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.material-card{min-width:0}.material-card h2{overflow-wrap:anywhere}.settings-panel{max-width:760px}.settings-panel form{grid-template-columns:1fr;max-width:440px}.settings-panel form button{justify-self:start;min-width:120px}.settings-panel label{position:relative}.settings-panel .field-hint{order:2}.settings-panel [role=status]:empty{display:none}.forced-settings{min-height:100vh;display:grid;place-items:center;padding:24px}.forced-settings-inner{width:min(100%,640px)}.forced-settings h1{margin:8px 0}.admin-panel article.review-card{display:block}.review-card>h3{margin:0 0 12px;font-size:17px}.review-summary{font-size:14px;line-height:1.8;color:#59665d;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.review-actions>a{margin-right:auto;font-size:13px}.review-editor{margin:16px 0;border-top:1px solid #e7ece5;border-bottom:1px solid #e7ece5;padding:12px 0}.review-editor>summary{cursor:pointer;color:#236247;font-size:13px;font-weight:700}.review-editor[open]>summary{margin-bottom:16px}.admin-panel article.card .metadata-editor,.admin-panel article.card .review-confirmation{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.admin-panel .metadata-editor h3,.admin-panel .metadata-editor p{margin:0}.admin-panel .metadata-editor button{justify-self:start;align-self:start;min-height:0}.admin-panel article.card .review-confirmation{margin-top:18px;background:#f7faf6;border:1px solid #d7e4d6;border-radius:9px;padding:18px}.review-confirmation>h3,.review-confirmation>p{margin:0}.review-confirmation>p{font-size:13px;color:#59665d}.admin-panel>form.card{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-panel>form.card button{justify-self:start}.admin-panel article.card{overflow-wrap:anywhere}.admin-panel article.card form:not(.metadata-editor):not(.review-confirmation){grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-panel article.card form button{justify-self:start}.admin-panel article.card>input{min-width:0;flex-basis:240px}.admin-panel .reauth label{flex-wrap:wrap}.admin-panel .reauth input{min-width:0}.feedback-form textarea,.rating-form textarea,.rating-form select{width:100%;border:1px solid #d8ded8;border-radius:8px;padding:10px;color:#27382e;background:#fff}.feedback-form textarea,.rating-form textarea{min-height:92px;resize:vertical}.feedback-form label,.rating-form label{font-size:13px;color:#59665d}.detail-drawer{padding-top:52px}.detail-drawer h2{overflow-wrap:anywhere}.detail-drawer .metadata-editor{margin-top:20px}.chat-toolbar>select{min-width:0;max-width:100%;flex:1}.chat-toolbar label{flex-wrap:wrap}.chat-toolbar label select{min-width:0;max-width:100%}.chat-message{overflow-wrap:anywhere}.citation{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #d6e2d5;font-size:12px}.citation span{line-height:1.7}.chat-compose{flex-wrap:wrap}.chat-compose textarea{min-width:0}@media(max-width:600px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px 18px;gap:14px;border-right:0;border-bottom:1px solid #dfddd6;overflow:visible}.sidebar .logo strong{display:block}.sidebar .logo{font-size:16px}.sidebar .space-switch{display:flex;gap:8px}.sidebar .space-switch .space{flex:1;padding:9px;justify-content:center;white-space:nowrap}.sidebar .space-switch .space:not(.active){display:flex}.sidebar nav{display:flex;flex-wrap:wrap;gap:6px}.sidebar .nav-item{padding:8px 9px;gap:6px;font-size:12px}.sidebar .nav-item span{display:inline}.sidebar>.nav-item{margin-top:0;align-self:flex-start}.sidebar .user-chip{display:flex;border:0;padding:0}.sidebar .user-chip .avatar{display:none}.sidebar .user-chip .text-button{margin:0}.topbar{height:48px}.workspace-page{padding:24px 18px}.page-heading h1{font-size:27px}.page-heading{margin-bottom:24px}.admin-panel,.settings-panel,.chat-panel{margin:20px 14px;padding:16px}.panel-header{gap:14px}.panel-header nav{gap:6px}.panel-header nav button{padding:7px 9px}.admin-panel>form.card,.admin-panel article.card form:not(.metadata-editor):not(.review-confirmation){grid-template-columns:minmax(0,1fr)}.admin-panel article.card .review-confirmation{padding:14px}.admin-panel .reauth{padding:12px}.admin-panel .reauth input{max-width:100%}.detail-drawer{padding:48px 22px 28px}.login-card{width:calc(100% - 32px);max-width:380px;padding:32px 28px}.chat-compose textarea{flex-basis:100%}.chat-compose button{margin-left:auto}.notice{margin:14px}.forced-settings{padding:18px}.settings-panel form{max-width:none}}@media(max-width:600px){.sidebar{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 18px}.sidebar .logo,.sidebar .space-switch,.sidebar nav{grid-column:1 / -1}.sidebar>.nav-item{grid-column:1;margin:0}.sidebar .user-chip{grid-column:2;justify-content:flex-end}.sidebar .user-chip .text-button{padding:8px 0}.taxonomy-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.taxonomy-filters select{min-width:0}.page-heading{margin-bottom:18px;gap:12px}}@media(max-width:359px){.taxonomy-filters{grid-template-columns:minmax(0,1fr)}}.upload-target{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;color:#59665d;font-size:12px;font-weight:700}.upload-target select{width:100%;min-width:0;max-width:100%;border:1px solid #d8ded8;border-radius:8px;padding:10px;background:#fff;color:#27382e}.upload-row{min-width:0}.upload-row>div{min-width:0}.upload-row>div:nth-child(n+4),.upload-row>section{grid-column:1 / -1}.upload-name>div{min-width:0}.upload-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.upload-list .notice{margin:12px 0;background:#f3f7f1;font-size:13px;color:#3b5745}.upload-list p{overflow-wrap:anywhere}@media(max-width:900px){.upload-actions{justify-content:flex-start}.upload-row{gap:12px}.upload-row>div:empty{display:none}}.upload-list{grid-template-columns:minmax(0,1fr)}.upload-list>.card{min-width:0;overflow-wrap:anywhere}.uploaded-materials,.upload-results{margin-top:24px}.uploaded-materials .card h3,.upload-results .card h4{overflow-wrap:anywhere}.chat-message .chat-speaker{display:block;font-size:11px;color:#18543b;letter-spacing:.05em}.chat-answer{font-size:14px;line-height:1.8}.chat-answer strong{font-size:inherit;color:inherit}.chat-answer h3,.chat-answer h4,.chat-answer h5{margin:16px 0 8px;line-height:1.45;color:#234d37}.chat-answer h3{font-size:19px}.chat-answer h4{font-size:17px}.chat-answer h5{font-size:15px}.chat-answer>:first-child{margin-top:4px}.chat-answer p{font-size:14px;margin:8px 0}.chat-answer ul,.chat-answer ol{padding-left:24px;margin:8px 0}.chat-answer li{margin:4px 0;white-space:pre-wrap}.chat-answer hr{border:0;border-top:1px solid #cfdbd0;margin:18px 0}.chat-message>button,.chat-citation button{background:transparent;border:1px solid #cbd8cc;border-radius:6px;padding:4px 9px;color:#28553c;font-size:12px;cursor:pointer}.chat-message>button{margin-top:10px}.chat-toolbar>button{padding:8px 14px;border:1px solid #bcccbe;border-radius:8px;color:#18543b;background:#f5f8f3;white-space:nowrap;cursor:pointer}.chat-toolbar>button:disabled{opacity:.55;cursor:default}.chat-empty{max-width:560px;margin:52px auto;padding:24px;color:#59665d;text-align:center}.chat-empty h3{font-size:20px;color:#254c36;margin:0 0 12px}.chat-empty p{font-size:14px;line-height:1.8}.chat-examples{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.chat-examples button{padding:11px 14px;border:1px solid #d4dfd2;border-radius:9px;background:#f6f8f2;color:#28553c;text-align:left;cursor:pointer}.chat-examples button:hover,.chat-toolbar>button:hover{background:#e8f0e5}.chat-waiting{font-size:13px;color:#59665d;line-height:1.8;padding:12px 15px;margin:10px 0}.chat-error{font-size:13px;color:#9a352b;background:#fff1ed;padding:10px 15px;border-radius:8px;margin:6px 0 16px}.chat-citation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #d6e2d5;font-size:12px;line-height:1.7}.chat-citation b,.chat-citation span{grid-column:1/-1}.chat-citation button{justify-self:start}.chat-citation a{justify-self:end;align-self:center}.chat-citation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-citation-full{white-space:pre-wrap}:root{--ink: #22372e;--secondary-ink: #586b60;--line: #dce4df;--surface: #fff;--canvas: #f5f7f5;--accent: #18543b;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:var(--ink);background:var(--canvas)}input,select,textarea{min-width:0;max-width:100%}button,a,label{-webkit-tap-highlight-color:transparent}:is(.workspace-page,.panel,.detail-drawer,.login-card) :is(input:where(:not([type=checkbox]):not([type=file])),select,textarea){border:1px solid #cbd7cf;border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 12px;font-size:14px;font-weight:400;line-height:1.5;min-height:42px}:is(.workspace-page,.panel,.detail-drawer,.login-card) :is(input,select,textarea):focus{border-color:#4d8a64;outline:2px solid #4d8a642e;outline-offset:1px;box-shadow:none}input::placeholder,textarea::placeholder{color:#708076;opacity:1}:is(.workspace-page,.panel,.detail-drawer) textarea{resize:vertical;min-height:100px}input[type=checkbox]{flex:0 0 auto;width:16px!important;height:16px;min-height:0;margin:0 4px 0 0}.button,.panel button:not(.text-button),.workspace-page button:not(.text-button):not(.close),.detail-drawer button:not(.text-button):not(.close){min-height:42px;border:1px solid #cbd7cf;border-radius:8px;background:#fff;color:var(--accent);padding:9px 16px;font-size:14px;font-weight:600;line-height:1.5}.button.primary,:is(.workspace-page,.panel,.detail-drawer) button:is(.primary,[type=submit]):not(.text-button),.workspace-page :where(.upload-list>.upload-row:has(>.upload-name+div:empty)) button.button:not(.text-button),.workspace-page :where(.upload-list[aria-label=批次计划]>.upload-actions) button.button:last-child{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled,:is(.panel,.workspace-page,.detail-drawer) button:disabled:not(.text-button):not(.close),:is(.workspace-page,.panel,.detail-drawer,.login-card) :is(input,select,textarea):disabled:not([type=checkbox]):not([type=file]){opacity:1;background:#edf1ee;color:#77837c;border-color:#dce3de;box-shadow:none;cursor:not-allowed}.text-button{min-height:36px;font-size:13px;line-height:1.5;padding:8px 2px}.text-button:disabled{background:transparent;color:#859087}.text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}.sidebar{width:236px;background:#edf2ed;border-color:var(--line)}.nav-label,.eyebrow{font-size:12px;letter-spacing:.06em;color:#65786b}.nav-item,.space{min-height:44px;font-size:14px}.nav-item.active,.space.active{background:#dce9df}.topbar{height:64px;padding:0 36px;background:#fbfcfa;border-color:var(--line)}.workspace-page{padding:32px 36px 48px}.page-heading{margin-bottom:24px;gap:20px}.page-heading h1{font-size:30px;line-height:1.35;margin:6px 0 10px}.page-heading .muted{max-width:780px;line-height:1.7}.muted,.field-hint{color:#63746a}.muted{font-size:13px}.field-hint{font-size:12px;line-height:1.6}.search-bar{padding:12px;margin-bottom:12px;border-color:var(--line);box-shadow:none}.taxonomy-filters{padding:16px;margin-bottom:24px;background:#eef3ef;border-color:var(--line)}.taxonomy-filters label,.panel form label,.metadata-editor label,.upload-target{font-size:13px;color:var(--secondary-ink)}.material-grid{gap:20px}.material-card{border-color:var(--line);padding:20px}.material-card:hover{transform:none;border-color:#a9bfb0;box-shadow:0 4px 16px #23352a0d}.material-card h2{font-size:18px;line-height:1.5;margin:16px 0 8px}.summary{font-size:14px;line-height:1.7;margin:8px 0;min-height:48px}.tag{font-size:12px;line-height:1.5;border-radius:5px;padding:3px 8px;background:#eff3f0;color:#53665a}.status{border:1px solid #c5d2cb;border-radius:20px;padding:3px 9px;font-size:12px;font-weight:600;color:#455d50;background:#f6f8f6}.card-top{gap:12px}.card-meta{font-size:12px;line-height:1.65;gap:5px 12px}.card-meta span:nth-child(3),.card-meta span:nth-child(5){white-space:normal}.empty-state{padding:32px 24px;gap:14px;text-align:center;background:#fff;border-color:#c6d5ca;line-height:1.7}.empty-state strong{font-size:18px}.panel{padding:24px;border-color:var(--line);border-radius:12px;box-shadow:none}.admin-panel,.chat-panel,.settings-panel{margin:32px 36px}.panel-header{align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:20px;border-color:var(--line)}.admin-panel>.panel-header,.chat-panel>.panel-header,.settings-panel>.panel-header{align-items:center}.admin-panel>.panel-header h2,.chat-panel>.panel-header h2,.settings-panel>.panel-header h2{font-size:26px;line-height:1.35}.panel-header>span{color:#63746a;font-size:13px;overflow-wrap:anywhere}.panel-header nav{gap:8px}.panel-header nav button{min-height:38px;padding:7px 12px;font-size:13px}.panel-header nav button.active{background:#e4efe7;color:#164d35;border-color:#adc6b5}.card{border-color:var(--line);padding:20px;margin-top:16px}.card h3,.card h4{margin:0 0 12px;line-height:1.5;font-size:17px}.card p{margin:8px 0;line-height:1.7}.notice,.upload-list .notice{margin:16px 0;padding:12px 16px;background:#edf4f1;color:#345e50;border-left:3px solid #7da894;font-size:13px;line-height:1.7}.content>.notice{margin:20px 36px}.analysis-notice{padding:12px 14px;border-left:3px solid #c49545;color:#805616;background:#fff6e4;line-height:1.7;font-size:13px}.notice.error,.form-error,.panel [role=alert],.workspace-page [role=alert],.chat-error{color:#963d32;background:#fff0ed;padding:12px 14px;border-radius:8px;border-left:3px solid #bb6256;font-size:13px;line-height:1.7}.detail-drawer{width:560px;padding:52px 32px 32px;border-left:1px solid var(--line);box-shadow:-12px 0 48px #18372b24;overscroll-behavior:contain;scroll-padding-top:20px}.detail-drawer h2{font-size:25px;line-height:1.5;margin:10px 0 20px}.detail-drawer h3{font-size:16px;color:#294535;margin:28px 0 12px}.detail-drawer li{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.detail-drawer>.button{margin:12px 8px 4px 0}.detail-drawer .close{position:fixed;z-index:5;width:36px;height:36px;top:12px;right:16px;border-radius:50%;background:#f0f4f0;color:#52695b;line-height:1}.detail-drawer .metadata-editor{padding:20px;background:#f5f8f5;border:1px solid var(--line);border-radius:10px;gap:16px}.metadata-editor h3{margin:0;font-size:17px}.metadata-editor textarea{min-height:140px}.metadata-editor select[multiple]{min-height:116px;padding:6px}.metadata-editor select[multiple] option{padding:4px 6px}.source-maintenance{flex-wrap:wrap;gap:10px;margin-bottom:16px}.source-select{flex-basis:240px}.feedback-form,.rating-form{padding-top:20px;margin-top:24px;border-top:1px solid var(--line);gap:12px}.feedback-form label,.rating-form label{font-size:14px;font-weight:600}.detail-drawer>form:not(.metadata-editor):not(.feedback-form):not(.rating-form){display:grid;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.detail-drawer>form>label:has(input[type=checkbox]){display:flex;gap:8px;align-items:flex-start}.login-page{background:var(--canvas);padding:24px 0}.login-card{width:420px;padding:40px;border-color:var(--line);box-shadow:0 12px 40px #23352a0b}.login-card label{font-size:13px}.login-card h1{font-size:30px;line-height:1.4}.settings-panel{max-width:660px}.settings-panel form{max-width:100%;gap:20px}.settings-panel form button{margin-top:4px}.settings-panel p{font-size:13px}.forced-settings-inner{max-width:560px}.forced-settings .settings-panel{margin:24px 0}.drop-zone{min-height:160px;padding:24px;text-align:center;cursor:pointer;border-color:#9cb5a5;background:#fafffa}.drop-zone strong{font-size:16px}.drop-zone span{color:#63776a;font-size:13px}.drop-zone:hover{background:#eff6f0;border-color:#4d8a64}.upload-list{gap:12px;margin-top:24px}.upload-list>h2,.uploaded-materials h2,.upload-results h2{margin:8px 0 4px;font-size:22px;line-height:1.4}.upload-row{padding:18px 20px;gap:16px;border-color:var(--line);grid-template-columns:minmax(0,1fr) minmax(100px,180px) auto}.upload-row>div:empty{display:none}.upload-row:has(>div:empty){grid-template-columns:minmax(0,1fr) auto}.upload-name strong{font-size:14px}.upload-name span{font-size:12px;color:#63746a}.upload-name>div>strong,.upload-name>div>span{white-space:normal;overflow-wrap:anywhere}.upload-actions{gap:12px;align-items:center}.progress{height:7px;background:#e4ece6}.upload-row[data-batch-id]>:is(div,details):last-child:not(.upload-actions){padding-top:16px;border-top:1px solid var(--line)}.upload-row[data-batch-id] p{margin:0;padding:12px 0;border-bottom:1px solid #edf1ee;line-height:1.8;font-size:13px}.upload-row[data-batch-id] p:last-child{border-bottom:0;padding-bottom:0}.upload-row[data-batch-id] p .text-button{margin-left:12px}.upload-row[aria-label=放行结果],.upload-row[aria-label=预览处理结果],.upload-row[aria-label=关系建议]{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.upload-row[aria-label] span{display:block;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.upload-list[aria-label=批次计划]{padding:24px;background:#edf3ef;border:1px solid #cfddd3;border-radius:12px}.upload-list[aria-label=批次计划]>h3{font-size:22px;margin:0}.upload-list[aria-label=批次计划]>.upload-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.upload-list[aria-label=批次计划]>.upload-row>div{grid-column:auto}.upload-list[aria-label=批次计划]>.upload-row>.upload-actions{align-self:end}.upload-list[aria-label=批次计划]>.upload-row>:is(.upload-name,p,strong),.upload-list[aria-label=批次计划]>.upload-row>div:has(textarea),.upload-list[aria-label=批次计划]>.upload-row>div:has(input[type=checkbox]){grid-column:1 / -1}.upload-list[aria-label=批次计划] .upload-name{flex-direction:column;align-items:flex-start;gap:6px}.upload-list[aria-label=批次计划] .upload-name :is(strong,span){white-space:normal;overflow-wrap:anywhere}.upload-list[aria-label=批次计划] label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--secondary-ink)}.upload-list[aria-label=批次计划] label:has(input[type=checkbox]){flex-direction:row;align-items:flex-start;margin:6px 0}.upload-list[aria-label=批次计划] :is(input:not([type=checkbox]),select,textarea){width:100%}.upload-list[aria-label=批次计划] .upload-actions>select{width:100%}.upload-list[aria-label=批次计划]>.upload-row[aria-label]{grid-template-columns:minmax(0,1fr)}.upload-list[aria-label=批次计划] .text-button{margin-right:10px}.uploaded-materials,.upload-results{margin-top:32px}.upload-results>div+div{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.upload-results>div>h3{font-size:18px;margin:0 0 12px}.upload-results .card{margin-top:12px;background:#fafcf9}.upload-results .card h4{font-size:16px}.admin-panel .reauth{padding:16px;margin-bottom:24px;background:#f3f6f3}.admin-panel .reauth label{font-size:13px}.admin-panel>form.card{gap:20px;background:#f8faf7;margin-bottom:24px}.admin-panel>form.card button{min-height:42px}.admin-panel>article.card.taxonomy-item{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr) auto}.admin-panel>article.card.taxonomy-item>label{display:flex;align-items:center;gap:8px;min-width:0;color:#59665d;font-size:12px;font-weight:700}.admin-panel>article.card.taxonomy-item>label input{flex:1;min-width:0;font-size:14px;font-weight:400}.admin-panel>article.card:has(>span)>b{flex-basis:100%;font-size:15px}.admin-panel>article.card>span{font-size:12px;padding:4px 8px;background:#edf2ef;border-radius:5px}.admin-panel>article.card:has(>p)>p{flex-basis:100%;margin:0}.review-card>h3{font-size:18px;margin-bottom:12px}.review-editor{margin:20px 0;padding:16px 0}.review-editor>summary{font-size:14px}.review-actions{gap:12px}.review-actions>a{font-size:14px}.admin-panel .review-confirmation{scroll-margin-top:20px}.admin-results.panel{border:0;padding:0;margin-top:24px}.admin-results .panel-header h2{font-size:22px}.admin-panel .admin-results article.card{display:block}.admin-results article.card>div>div{padding:12px 0;border-top:1px solid var(--line)}.admin-results form.card{display:grid;gap:16px}.admin-panel>p.muted:only-of-type,.admin-results>p.muted:only-of-type{padding:40px 24px;text-align:center;background:#f8faf7;border:1px dashed #cbd8ce;border-radius:10px;line-height:1.8}.backup-status>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.backup-status h3{margin:0;font-size:20px}.backup-status dl{margin:0}.backup-status dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line)}.backup-status dt{color:#63746a}.backup-status dd{margin:0;overflow-wrap:anywhere}.chat-toolbar{gap:12px;padding:0 0 16px;margin-bottom:8px;border-bottom:1px solid #edf1ee}.chat-toolbar label{font-size:13px}.chat-toolbar>select{flex:1 1 220px}.chat-messages{min-height:320px;max-height:55vh;padding:12px 4px;scrollbar-gutter:stable}.chat-message{padding:16px 18px;background:#f2f5f2;margin:12px 0;border:1px solid #e1e8e2}.chat-message.user{background:#e5f0e7;border-color:#d2e3d6}.chat-message .chat-speaker{font-size:12px;margin-bottom:8px}.chat-message p{font-size:14px;line-height:1.8}.chat-waiting{background:#edf3f6;border-left:3px solid #729aaf;border-radius:8px;padding:14px 16px;color:#416475}.chat-compose{border-top:1px solid var(--line);padding-top:16px;gap:12px}.chat-compose textarea{min-height:84px}.chat-empty{margin:32px auto;padding:24px}.chat-empty h3{font-size:22px;line-height:1.5}.chat-panel>p[role=status]:empty{display:none}@media(max-width:1100px){.sidebar{width:210px}.workspace-page{padding:28px 24px}.topbar{padding:0 24px}.admin-panel,.settings-panel,.chat-panel{margin:28px 24px}.admin-panel>.panel-header{flex-direction:column;align-items:flex-start}.upload-row{grid-template-columns:minmax(0,1fr)}.upload-actions{justify-content:flex-start}}@media(max-width:600px){.sidebar{width:100%;padding:12px 18px;gap:10px}.sidebar .nav-item{min-height:38px;font-size:13px;padding:8px}.sidebar .space-switch .space{min-height:40px;font-size:13px}.topbar{height:48px;padding:0 18px}.workspace-page{padding:24px 18px 32px}.page-heading h1{font-size:27px}.page-heading{gap:12px;margin-bottom:20px}.search-bar{flex-direction:row;gap:8px;padding:10px}.search-bar input{min-width:0}.search-bar .button{flex-shrink:0;padding:9px 12px}.taxonomy-filters{padding:12px;gap:12px}.taxonomy-filters label{font-size:12px}.taxonomy-filters select{padding-left:8px;padding-right:6px}.material-card{padding:20px}.admin-panel,.settings-panel,.chat-panel{margin:20px 14px;padding:20px 16px}.panel-header{gap:12px;padding-bottom:16px}.panel-header nav{gap:8px}.panel-header nav button{padding:7px 10px}.settings-panel>.panel-header,.chat-panel>.panel-header{align-items:flex-start}.card{padding:16px}.detail-drawer{padding:48px 20px 28px;width:100%}.detail-drawer .metadata-editor{padding:16px}.login-card{width:calc(100% - 32px);padding:32px 28px}.forced-settings{padding:24px 18px}.forced-settings h1{font-size:28px}.drop-zone{min-height:150px;padding:20px}.drop-zone strong{font-size:15px}.upload-row,.upload-row:has(>div:empty){grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}.upload-row>:is(div,details):nth-child(n+4),.upload-row>section{grid-column:1 / -1}.upload-row .upload-name{flex-wrap:wrap}.upload-list[aria-label=批次计划]{padding:16px}.upload-list[aria-label=批次计划]>.upload-row{grid-template-columns:minmax(0,1fr);gap:16px}.upload-list[aria-label=批次计划]>.upload-actions{display:grid;grid-template-columns:minmax(0,1fr)}.upload-results,.uploaded-materials{padding:20px 16px}.admin-panel>article.card.taxonomy-item{grid-template-columns:minmax(0,1fr) auto;gap:12px}.admin-panel>article.card.taxonomy-item>b{grid-column:1 / -1}.admin-panel>form.card{grid-template-columns:minmax(0,1fr)}.backup-status dl>div{grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 0}.chat-toolbar{align-items:stretch}.chat-toolbar label{flex-basis:100%;justify-content:space-between}.chat-toolbar label select{flex:1}.chat-toolbar>select{flex:1 1 180px}.chat-toolbar>span{flex-basis:100%;font-size:13px;color:#63746a}.chat-message{max-width:96%;padding:14px}.chat-empty{padding:12px;margin:20px auto}.chat-empty h3{font-size:20px}.chat-compose textarea{flex-basis:100%}.notice,.content>.notice{margin:16px}.upload-list .notice,#uploads>.notice{margin:12px 0}}@media(prefers-reduced-motion:reduce){.material-card{transition:none}.spinner{animation:none}}[data-status=AVAILABLE],[data-status=RELEASED],[data-status=COMPLETE],[data-status=COMPLETED],[data-status=done],[data-status=published],[data-status=RESOLVED]{color:#1f7a46}[data-status=PENDING_REVIEW],[data-status=AWAITING_CONFIRMATION],[data-status=PREPARING],[data-status=RELATING],[data-status=UPLOADING],[data-status=COMPLETING],[data-status=uploading],[data-status=registering],[data-status=hashing],[data-status=processing],[data-status=running],[data-status=OPEN]{color:#8a5a12}[data-status=DRAFT],[data-status=HISTORICAL],[data-status=LEGACY],[data-status=COLLECTING],[data-status=ready],[data-status=paused],[data-status=not_enabled],[data-status=unsupported]{color:#526157}[data-status=VOIDED],[data-status=FAILED],[data-status=CANCELLED],[data-status=EXPIRED],[data-status=error],[data-status=cancel-error],[data-status=cancelled],[data-status=failed],[data-status=recovery_required],[data-status=unavailable]{color:#963d32}[data-analysis-status=SUCCEEDED],[data-analysis-status=COMPLETED]{color:#1f7a46}[data-analysis-status=PENDING],[data-analysis-status=RUNNING],[data-analysis-status=QUEUED],[data-analysis-status=PROCESSING],[data-analysis-status=AWAITING_CONFIRMATION]{color:#8a5a12}[data-analysis-status=SKIPPED]{color:#526157}[data-analysis-status=FAILED]{color:#963d32}.status[data-status]{font-weight:700}.status[data-status=AVAILABLE]{background:#e6f3ea;border-color:#b9d9c2}.status[data-status=PENDING_REVIEW]{background:#fff3e0;border-color:#e8cfa0}.status[data-status=DRAFT],.status[data-status=HISTORICAL]{background:#eef1ee;border-color:#d5ddd8}.status[data-status=VOIDED]{background:#fdeeec;border-color:#e9c3bd}.empty-hint{display:flex;flex-direction:column;gap:4px}.empty-hint strong{color:var(--ink);font-size:14px}.batch-plan-toggle>summary{cursor:pointer;color:#236247;font-weight:700;font-size:13px;padding:4px 0;list-style:revert}.batch-plan-toggle[open]>summary{margin-bottom:12px}
