.app.manager-mode{background:#041c4a}.app.manager-mode .content{margin:0 10px 10px 0;border-radius:12px 0 0 12px;background:#fff;min-height:calc(100vh - 82px)}
.app.manager-mode .role-pill{width:auto;padding:7px 10px;font-size:12px;border:1px solid #42628d;border-radius:6px}.app.manager-mode .role-pill::after{display:none}.app.manager-mode .auth-account-button{background:transparent;border-color:#42628d;color:#fff;font-size:12px}.app.manager-mode .header .user-chip div{display:block}.app.manager-mode .manager-role-label{display:none}
.workspace-page h2{font-size:25px;margin:0 0 18px;color:#0d2855}.workspace-page h3{font-size:16px;margin:0}.workspace-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px;margin-bottom:20px}.workspace-stat{border-radius:9px;padding:18px 20px;background:linear-gradient(120deg,#367fff,#005aff);color:#fff;box-shadow:0 3px 9px #1955ab25}.workspace-stat:nth-child(2){background:linear-gradient(120deg,#23b2ff,#087ef7)}.workspace-stat:nth-child(3){background:linear-gradient(120deg,#ffb74c,#ff8b00)}.workspace-stat:nth-child(4){background:linear-gradient(120deg,#25c6c1,#03a38e)}.workspace-stat:nth-child(5){background:linear-gradient(120deg,#ff8585,#ef4b5f)}.workspace-stat span{display:block;font-size:13px}.workspace-stat strong{font-size:28px;display:block;margin-top:6px}
.workspace-split{display:grid;grid-template-columns:minmax(600px,2fr) minmax(420px,1.35fr);gap:16px;align-items:start}.workspace-panel{border:1px solid #dce5f1;border-radius:9px;min-width:0;overflow:hidden;background:#fff}.workspace-panel>header{padding:17px 18px;border-bottom:1px solid #e7edf5;display:flex;justify-content:space-between;align-items:center;gap:8px}.workspace-panel .inner{padding:17px}.workspace-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.workspace-toolbar input{flex:1;min-width:160px}.workspace-toolbar input,.workspace-toolbar select{padding:9px 12px;border-radius:5px;font-size:12px}.workspace-scroll{overflow:auto}.workspace-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.workspace-table th{padding:12px;background:#f5f8fc;border-bottom:1px solid #e0e8f1;color:#435475;text-align:left}.workspace-table td{padding:14px 11px;border-bottom:1px solid #eaf0f7}.workspace-table tbody tr{cursor:pointer}.workspace-table tbody tr.selected{background:#edf4ff}.workspace-table tbody tr:hover{background:#f5f9ff}.workspace-table .name-cell{white-space:normal;min-width:180px;max-width:360px;line-height:1.7}.workspace-table button{white-space:nowrap}.workspace-tag{display:inline-block;padding:3px 7px;border:1px solid #c3dafa;border-radius:4px;color:#126de0;background:#f1f6ff;font-size:11px}.workspace-tag.done{color:#0b956d;background:#effbf6;border-color:#b9e7d7}.workspace-muted{color:#77849b;font-size:12px;line-height:1.8}.workspace-detail{display:grid;grid-template-columns:90px 1fr;gap:13px 10px;font-size:12px;line-height:1.6}.workspace-detail dt{color:#7a879b}.workspace-detail dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.workspace-block{padding:17px;border-bottom:1px solid #e6edf6}.workspace-block h3{margin-bottom:16px}.workspace-footer{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;gap:10px;font-size:12px;color:#77849b}.workspace-footer button{padding:6px 11px}.workspace-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.workspace-form label{display:grid;gap:7px;font-size:12px}.workspace-form .wide{grid-column:1/-1}.workspace-form input,.workspace-form select,.workspace-form textarea{width:100%;padding:10px}.workspace-form .modal-actions{grid-column:1/-1}.workspace-assignment{display:grid;grid-template-columns:minmax(290px,1fr) minmax(300px,1fr) minmax(330px,1fr);gap:14px}.workspace-assignment .workspace-form{display:block}.workspace-assignment label{margin-bottom:14px}.workspace-list-item{padding:15px;border-bottom:1px solid #e7edf5;cursor:pointer;font-size:12px;line-height:1.7}.workspace-list-item.selected{background:#edf4ff;border-left:3px solid #0877f9}.workspace-list-item strong{display:block}.workspace-list-item small{color:#758099}.workspace-bottom{margin-top:16px}.workspace-chart-row{display:grid;grid-template-columns:90px 1fr 45px;align-items:center;gap:10px;margin:15px 0;font-size:12px}.workspace-chart-track{background:#edf2f7;border-radius:5px;height:8px}.workspace-chart-track i{display:block;background:#1872f9;height:8px;border-radius:5px}.workspace-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.workspace-tabs button{padding:8px 13px;border:1px solid #d8e3f2;background:white;border-radius:5px;cursor:pointer;color:#536582}.workspace-tabs button.active{background:#066cff;color:#fff;border-color:#066cff}.workspace-error{margin:10px 0;color:#b33f42;font-size:12px}.workspace-check{display:flex!important;align-items:center;gap:8px!important}.workspace-check input{width:auto!important}
@media(max-width:1300px){.workspace-split,.workspace-assignment{grid-template-columns:1fr}.workspace-panel.side-detail{max-height:none}.workspace-stats{gap:10px}.app.manager-mode .header h1{font-size:24px}}
@media(max-width:760px){.app.manager-mode .shell{margin-left:70px}.app.manager-mode .sidebar{width:70px}.app.manager-mode .content{padding:14px;margin:0}.app.manager-mode .nav-btn{padding:0;justify-content:center}.app.manager-mode .header{padding:0 12px}.app.manager-mode .header h1{font-size:16px}.app.manager-mode .header>div:first-child::before{display:none}.app.manager-mode .header-tools{gap:4px}.app.manager-mode .header .user-chip{display:none}.workspace-stats{grid-template-columns:1fr 1fr}.workspace-form{grid-template-columns:1fr}.workspace-form .wide{grid-column:auto}.workspace-stat{padding:14px}}
.workspace-page{min-width:0}.workspace-split>section{min-width:0}.review-columns{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(380px,1.7fr) minmax(280px,1fr);gap:16px;align-items:start}.library-columns{display:grid;grid-template-columns:190px minmax(280px,1.2fr) minmax(320px,1fr);gap:16px;align-items:start}.files-columns{display:grid;grid-template-columns:210px minmax(350px,1.1fr) minmax(380px,1fr);gap:16px;align-items:start}.online-columns{display:grid;grid-template-columns:220px minmax(400px,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}.users-columns{display:grid;grid-template-columns:160px minmax(0,1fr) 250px;gap:14px;align-items:start}.users-columns .account-panel-head{align-items:flex-start;flex-wrap:wrap}.users-columns .department-create{flex-wrap:wrap}.users-columns .department-create input{width:180px}.users-columns .account-panel{margin:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-real{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.employee-dashboard-real{display:grid;grid-template-columns:minmax(420px,2fr) minmax(190px,.7fr) minmax(200px,.7fr);gap:16px}.block-button{display:block;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #e5edf7;color:#233b62;font:inherit;font-size:12px}.block-button:hover,.issue-card:hover{background:#f1f6ff}.block-button[hidden],[data-rule][hidden]{display:none}.preserve{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.preview-title{padding:12px 15px;background:#edf3fb;font-size:12px;color:#43628b;overflow-wrap:anywhere}.document-preview{width:100%;height:630px;border:0;background:#e9edf3}.image-preview{display:block;max-width:100%;max-height:630px;margin:auto;object-fit:contain}.text-preview{font:13px/1.9 sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;min-height:500px;max-height:630px;overflow:auto;padding:25px;background:#fafafa;margin:0}.issue-card{display:grid;grid-template-columns:28px 1fr;gap:8px;width:100%;text-align:left;padding:16px;border:0;border-bottom:1px solid #e5edf7;background:#fff;cursor:pointer;color:#314869}.issue-card strong{font-size:13px}.issue-card small{grid-column:2;color:#7c8a9f;font-size:11px}.issue-card.selected{background:#edf4ff;border-left:3px solid #146ff6}.issue-list{max-height:300px;overflow:auto}.severity{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;font-weight:600;background:#e9f1ff;color:#1d76de}.severity-A{color:#df4251;background:#ffe9ec}.severity-B{color:#ed941f;background:#fff1dd}.severity-C{color:#7463d2;background:#eeebff}.severity-D{color:#148bad;background:#e2f6ff}.audit-json{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f4f7fb;font-size:12px;line-height:1.8;border-radius:5px;max-height:400px;overflow:auto}.real-workflow{padding:20px;display:flex;flex-direction:column;gap:15px}.real-step{display:flex;align-items:center;gap:13px;position:relative}.real-step>span{width:28px;height:28px;display:grid;place-items:center;background:#e8edf5;border-radius:50%;color:#8b9ab1;font-size:12px}.real-step.done>span{background:#e2f5ed;color:#19a272}.real-step strong{font-size:12px}.real-step small{display:block;font-size:11px;color:#8a99ae;margin-top:5px}.workspace-bottom .real-workflow{flex-direction:row;justify-content:space-between;flex-wrap:wrap}.legend-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-chart{height:200px;padding:15px 20px 0;display:flex;align-items:end;justify-content:space-around;gap:10px}.month-chart>div{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:20px}.month-chart i{display:block;width:30px;min-height:2px;background:linear-gradient(#31a0ff,#2070f5);border-radius:4px 4px 0 0}.month-chart strong,.month-chart small{font-size:12px;color:#76859d}.app:not(.manager-mode) .workspace-stat{background:#edf4ff;color:#2077ee;box-shadow:none}.app:not(.manager-mode) .workspace-stat:nth-child(2){background:#e9f7fc;color:#1699c4}.app:not(.manager-mode) .workspace-stat:nth-child(3){background:#fff5e7;color:#e99a24}.app:not(.manager-mode) .workspace-stat:nth-child(4){background:#f3efff;color:#8763d5}.app:not(.manager-mode){background:#071e47}.app:not(.manager-mode) .content{background:#fff;border-radius:12px 0 0 12px;margin-right:10px}.app:not(.manager-mode) .sidebar{background:#071e47}
@media(max-width:1450px){.users-columns{grid-template-columns:150px minmax(0,1fr)}.users-columns>aside{grid-column:1/-1}.files-columns{grid-template-columns:190px minmax(0,1fr)}.files-columns>aside{grid-column:2}.review-columns,.online-columns{grid-template-columns:210px minmax(0,1fr)}.review-columns>aside,.online-columns>aside{grid-column:2}}
@media(max-width:1100px){.library-columns,.employee-dashboard-real,.dashboard-real{grid-template-columns:1fr}.library-columns>section:first-child{display:flex;flex-wrap:wrap}.library-columns>section:first-child>button{width:auto}.settings-grid{grid-template-columns:1fr}.workspace-split{grid-template-columns:minmax(0,1fr)}.users-columns{grid-template-columns:minmax(0,1fr)}.users-columns>aside{grid-column:auto}}
@media(max-width:760px){.review-columns,.online-columns,.files-columns{grid-template-columns:minmax(0,1fr)}.review-columns>aside,.online-columns>aside,.files-columns>aside{grid-column:auto}.document-preview{height:480px}.workspace-page h2{font-size:21px}.workspace-table td{padding:12px 9px}.workspace-stats{grid-template-columns:1fr 1fr}.app:not(.manager-mode) .content{padding:12px;margin:0}.header-tools .search-action,.header-tools .help-action{display:none!important}}
.workspace-page,.workspace-page button,.workspace-page input,.workspace-page select,.workspace-page textarea{font-family:'Microsoft YaHei','Segoe UI',sans-serif}.workspace-page .donut{background:var(--workspace-ring,#e7eef6)!important}.workspace-panel.side-detail{max-height:calc(100vh - 275px);overflow:auto}.workspace-page .month-chart strong{font-weight:500}
@media(max-width:1300px){.workspace-panel.side-detail{max-height:none}}
/* ---- 工作负荷加权计分 ---- */
.workspace-chart-row.score-row{grid-template-columns:118px 1fr 158px}
.workspace-chart-row.score-row.selected{background:#edf4ff;border-radius:5px}
[data-score-user]{cursor:pointer}
.score-value{display:flex;align-items:center;gap:6px;justify-content:flex-end;font-size:13px;font-weight:700;color:#0d2855;white-space:nowrap}
.score-value small{color:#8b99ae;font-weight:400}
.score-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score-tier{padding:2px 7px;border-radius:4px;font-size:11px;font-style:normal;white-space:nowrap;border:1px solid #cfe0f5;background:#f1f6ff;color:#1c6fe0}
.score-tier.low{background:#f2f5fa;border-color:#dbe3ee;color:#77849b}
.score-tier.ok{background:#edfbf7;border-color:#b6e8d8;color:#08a17a}
.score-tier.full{background:#fff7eb;border-color:#ffd6a5;color:#ef8a00}
.score-tier.over{background:#fff0f1;border-color:#ffb0b7;color:#ee3b49}
.owner-pick{border:1px dashed #c9d6e8;background:#f7faff;color:#1c6fe0;border-radius:5px;padding:3px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.owner-pick:hover{background:#eaf2ff;border-color:#9dbdea}
.owner-pick span{font-size:11px;opacity:.75}
.owner-row{display:grid;grid-template-columns:16px minmax(90px,1fr) 110px 66px 148px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e3eaf3;border-radius:6px;margin-bottom:8px;cursor:pointer}
.owner-row:hover{background:#f7faff;border-color:#c9d6e8}
.owner-row input[type=radio]{width:14px;height:14px;margin:0}
.owner-row em{font-style:normal;font-size:11px;color:#8a94a6}
.owner-name{font-size:13px;color:#22354f}
.owner-meter{height:7px;background:#eef3f9;border-radius:4px;overflow:hidden}
.owner-meter span{display:block;height:100%;background:#2f7ff0}
.owner-row.heavy .owner-meter span{background:#e8891c}
.owner-load{font-size:11px;color:#6b7789;text-align:right}
.workspace-check{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;color:#435475}
.workspace-chart-track i.bar-low{background:#c3cedd}
.workspace-chart-track i.bar-ok{background:#26c08b}
.workspace-chart-track i.bar-full{background:#ffab2e}
.workspace-chart-track i.bar-over{background:#f04455}
.score-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;font-size:11px;color:#77849b}
.score-legend i{display:inline-block;width:22px;height:8px;border-radius:4px;background:#c3cedd;margin-right:5px;vertical-align:middle}
.score-legend i.bar-ok{background:#26c08b}
.score-legend i.bar-full{background:#ffab2e}
.score-legend i.bar-over{background:#f04455}
.score-breakdown{list-style:none;margin:10px 0 0;padding:0;font-size:12px;line-height:2;color:#5a6a83}
.score-breakdown b{color:#0d2855}
.score-tag{padding:2px 7px;border-radius:4px;background:#eef4ff;color:#1c6fe0;font-size:12px;font-style:normal}
.score-rule-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pending-row{padding:9px 0;border-bottom:1px solid #eef2f8;font-size:12px}
.pending-row small{color:#8b99ae}
.score-mini p{margin:7px 0;font-size:12px;color:#5a6a83}
.score-mini b{color:#0d2855}
.score-mini em{float:right;color:#8b99ae;font-style:normal}
.score-fieldset{grid-column:1/-1;border:1px dashed #cddcef;border-radius:8px;padding:12px 15px;margin:2px 0}
.score-fieldset legend{padding:0 8px;color:#1c6fe0;font-weight:700}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}
.score-grid label{display:grid;gap:5px;font-size:12px}
.score-grid label[hidden]{display:none}
.score-preview{margin:10px 0 0;font-size:12px;color:#8b99ae}
.score-preview.ok{color:#08a17a}
.score-preview.error{color:#c0393f}
.inline-field{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#435475}
.inline-field input{padding:9px 12px;border-radius:5px;font-size:12px}
.score-report{width:100%;border-collapse:collapse;font-size:12px;color:#5a6a83}
.score-report th,.score-report td{padding:9px 10px;text-align:left;border-bottom:1px solid #eef2f8}
.score-report thead th{color:#8b99ae;font-weight:600;background:#f7faff}
.score-report td b{color:#0d2855}
.score-report tfoot td{color:#8b99ae;border-bottom:none}
.score-mini-btn{margin-left:6px;padding:2px 8px;border:1px solid #cfe0f5;border-radius:4px;background:#f1f6ff;color:#1c6fe0;font-size:11px;cursor:pointer}
.score-mini-btn:hover{background:#e3edff}
.score-mini-btn[disabled]{opacity:.55;cursor:default}
.workspace-toolbar button{padding:8px 12px;border:1px solid #cfe0f5;border-radius:5px;background:#fff;color:#1c6fe0;font-size:12px;cursor:pointer}
.workspace-toolbar button:hover{background:#f1f6ff}
@media(max-width:1100px){.score-grid,.score-rule-cols{grid-template-columns:1fr}}
/* 问题登记：图片＋文字 */
.issue-shots{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.issue-shot{width:128px;height:96px;object-fit:cover;border:1px solid #dce5f1;border-radius:6px;background:#f5f8fc;cursor:zoom-in}
.shot-zoom{max-width:100%;border-radius:8px}
.shot-preview{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}
.shot-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}
.shot-item img{width:96px;height:72px;object-fit:cover;border:1px solid #dce5f1;border-radius:6px;background:#f5f8fc}
.shot-item small{font-size:11px;color:#7b8aa5}
.shot-item button{position:absolute;top:-8px;right:-8px;width:20px;height:20px;line-height:1;padding:0;border-radius:50%;border:1px solid #dce5f1;background:#fff;color:#ef4b5f;cursor:pointer}
/* AI 预审端口 */
.ai-panel p{margin:4px 0}
.ai-status{padding:8px 10px;border-radius:6px;font-size:12px}
.ai-status.ok{background:#eafaf3;color:#0a8f66;border:1px solid #bfe9d8}
.ai-status.off{background:#fff7e6;color:#b06a00;border:1px solid #ffe0a3}
.ai-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 4px}
.ai-field{display:flex;align-items:center;gap:6px;font-size:12px;color:#435475}
.ai-field select{padding:8px 10px;border:1px solid #dce5f1;border-radius:5px;font-size:12px;background:#fff;color:#15213d;max-width:340px}
.ai-result{margin-top:10px;max-height:420px;overflow:auto}
.ai-instruction-label{display:block;font-size:12px;color:#5a6c7d;margin-top:12px;margin-bottom:4px}
.ai-instruction{width:100%;min-height:72px;resize:vertical;padding:8px;border:1px solid #dce5f1;border-radius:6px;font-size:13px;box-sizing:border-box;font-family:inherit}
.ai-instruction:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}
.ai-issue{display:block;border:1px solid #e0e8f1;border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fbfdff}
.ai-issue-head{display:flex;align-items:center;gap:8px}
.ai-issue small{display:block;color:#7b8aa5;font-size:12px;margin:4px 0}
.ai-issue p{margin:4px 0 0;font-size:12px;color:#435475}
.ai-issue.ignored{opacity:.62;background:#f6f8fb}
.ai-issue.ignored .ai-issue-head strong{text-decoration:line-through}
.ai-issue.editing{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px rgba(59,130,246,.12)}
.ai-issue-actions{display:flex;gap:8px;margin-top:8px}
.ai-tag{display:inline-block;margin-top:6px;padding:1px 6px;border-radius:4px;background:#eef2f7;color:#5a6c7d;font-size:11px}
.ai-count{font-size:12px;color:#435475;margin:8px 0 4px}
.ai-toolbar{margin:6px 0 10px;gap:8px}
.ai-deliver{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:12px;color:#435475}
.ai-edit,.ai-ignore{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed #dce5f1}
.ai-edit .ai-field,.ai-ignore .ai-field{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.ai-edit .ai-field.wide,.ai-ignore .ai-field.wide{grid-column:1/-1}
.ai-edit input,.ai-edit select,.ai-edit textarea,.ai-ignore input{padding:6px 8px;border:1px solid #dce5f1;border-radius:5px;font-size:12px;font-family:inherit;color:#15213d;background:#fff;width:100%;box-sizing:border-box}
.ai-edit textarea{resize:vertical}
.ai-edit-actions{grid-column:1/-1;display:flex;gap:8px}
.rq-table{table-layout:fixed;min-width:760px;width:100%}
.rq-table-wrap{overflow-x:auto;overflow-y:hidden;width:100%}
.rq-table td,.rq-table th{vertical-align:top;font-size:12px;padding:11px 12px;line-height:1.6}
.rq-table th{font-weight:600;color:#435475;background:#f5f8fc}
.rq-table th:nth-child(1){width:110px;min-width:110px}
.rq-table th:nth-child(2){min-width:280px;width:50%}
.rq-table th:nth-child(3){width:120px;min-width:120px}
.rq-table th:nth-child(4){width:70px;min-width:70px}
.rq-table th:nth-child(5){width:56px;min-width:56px}
.rq-table th:nth-child(6){width:92px;min-width:92px}
.rq-table td:nth-child(3){white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.rq-content{white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.85;font-size:13px;color:#15213d;padding-right:4px}
.rq-badge{display:inline-block;padding:1px 7px;border-radius:4px;background:#eef2f7;color:#5a6c7d;font-size:11px;white-space:nowrap}
.rq-badge.rq-critical{background:#fdecef;color:#c0223b;border:1px solid #f7c9d1}
.rq-ok{color:#0bad7f;font-size:12px}
.rq-todo{color:#e08600;font-size:12px;font-style:normal}
.rq-warn{background:#fffaf3}
.rq-ops{white-space:nowrap}
.rq-ops .table-btn{margin-right:4px}
.rq-inline{display:flex;align-items:center;gap:6px;font-size:12px;color:#5a6c7d;white-space:nowrap}
.rq-editing select,.rq-editing textarea,.rq-editing input:not([type=checkbox]){width:100%;padding:5px 7px;border:1px solid #dce5f1;border-radius:5px;font-size:12px;font-family:inherit;color:#15213d;background:#fff;box-sizing:border-box}
.rq-editing textarea{resize:vertical}
.rq-editing{background:#f7fbff}
.rq-candidates{max-height:340px;overflow:auto;border:1px solid #eef2f7;border-radius:8px;padding:8px;margin:6px 0}
.rq-candidate{display:flex;align-items:flex-start;gap:8px;padding:6px 4px;border-bottom:1px dashed #eef2f7;font-size:12px;color:#15213d;line-height:1.5}
.rq-candidate:last-child{border-bottom:none}
.rq-candidate strong{font-weight:500;flex:1;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.rq-candidate small{display:block;color:#7b8aa5}
.rq-fields,.rq-note{margin:4px 0}
.rq-parse-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px dashed #eef2f7;font-size:12px}
.rq-parse-row:last-of-type{border-bottom:none}
.rq-parse-main{min-width:180px;display:flex;flex-direction:column;gap:2px}
.rq-parse-main strong{font-weight:500;color:#15213d}
.rq-parse-main small{color:#7b8aa5}
.rq-parse-detail{flex:1;color:#5a6c7d;line-height:1.5}
.rq-badge.rq-todo{background:#fff5e6;color:#b26a00}
.rq-badge.rq-ok{background:#e8f8f2;color:#0bad7f}
.rq-badge.rq-bad{background:#fdecef;color:#c0223b}
.rq-badge.rq-source{background:#eef4ff;color:#3b6fd4;font-weight:400;margin-right:6px}
.rq-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:8px 0}
.rq-field-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#435475}
.rq-field-grid label.rq-wide{grid-column:1/-1}
.rq-field-grid input{padding:7px 9px;border:1px solid #dce5f1;border-radius:5px;font-size:12px;color:#15213d;background:#fff;width:100%;box-sizing:border-box}
.rq-ai-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.ai-help h3{margin:12px 0 4px;font-size:14px;color:#0d2855}
.shot-box{position:relative;display:inline-block}
.shot-del{position:absolute;top:-8px;right:-8px;width:22px;height:22px;line-height:1;padding:0;border-radius:50%;border:1px solid #dce5f1;background:#fff;color:#ef4b5f;cursor:pointer;box-shadow:0 1px 4px rgba(13,40,85,.12)}
.shot-add{display:inline-flex;align-items:center;gap:4px;cursor:pointer;margin-top:4px}
.issue-late{color:#d64545;font-style:normal;font-weight:600}
.ai-suggest{margin:6px 0 0;padding:6px 10px;border-left:3px solid #005aff;background:#f2f7ff;border-radius:0 5px 5px 0;font-size:12px;color:#0d2855}
/* 新建项目向导：上传招标文件与工程量清单 → AI 识别 → 按工作量负荷推荐编制人员 */
.wiz-steps{display:flex;gap:8px;margin:0 0 14px}
.wiz-step{flex:1;padding:7px 10px;border:1px solid var(--line,#dce5f2);border-radius:8px;font-size:12px;color:var(--muted,#758099);text-align:center;background:#fff}
.wiz-step.active{border-color:var(--blue,#0877f9);color:var(--blue,#0877f9);font-weight:600;box-shadow:inset 0 -2px 0 var(--blue,#0877f9)}
.wiz-step.done{border-color:var(--green,#0db88a);color:var(--green,#0db88a)}
.wiz-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.wiz-file{border:1px dashed var(--line,#dce5f2);border-radius:8px;padding:10px 12px;background:#fbfdff}
.wiz-file b{display:block;font-size:13px;margin-bottom:4px}
.wiz-file input[type=file]{width:100%;font-size:12px}
.wiz-file .wiz-ok{color:var(--green,#0db88a);font-size:12px}
.wiz-bill{margin-top:10px;padding:10px 12px;border:1px solid var(--line,#dce5f2);border-radius:8px;background:#f7faff;font-size:12px}
.wiz-bill ul{margin:4px 0 0;padding-left:18px}
.wiz-bill li{margin:2px 0}
.wiz-cand{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto}
.wiz-cand label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line,#dce5f2);border-radius:8px;padding:9px 11px;cursor:pointer;background:#fff}
.wiz-cand label.on{border-color:var(--blue,#0877f9);background:#f4f9ff}
.wiz-cand .wiz-cand-main{flex:1;min-width:0}
.wiz-cand .wiz-cand-name{font-size:13px;font-weight:600}
.wiz-cand .wiz-cand-reason{font-size:12px;color:var(--muted,#758099);margin-top:2px}
.wiz-cand .wiz-cand-tasks{font-size:11px;color:var(--muted,#758099);margin-top:2px}
.wiz-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:9px;font-size:11px;background:#eef4ff;color:var(--blue,#0877f9)}
.wiz-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.rq-picks{margin:6px 0;padding-left:18px;font-size:13px}
.rq-picks li{margin:4px 0}
/* 项目管理：批量选择 + 删除 */
.ws-check{width:38px;min-width:38px;text-align:center;padding-left:12px;padding-right:4px}
.ws-check input{width:15px;height:15px;cursor:pointer;accent-color:#0877f9}
.btn-del-text{color:#d9364c}
.btn-del-text:hover{background:#fff0f1}
#deleteSelectedProjects:disabled{opacity:.55;cursor:not-allowed}
.delete-confirm p{margin:0 0 10px}
.delete-confirm label{display:block;font-size:12px;color:#435475;margin-bottom:12px}
.delete-confirm label input{width:100%;margin-top:6px;padding:9px 11px;border:1px solid #dce5f2;border-radius:6px;font-size:13px;color:#15213d;background:#fff;box-sizing:border-box}
.delete-list{margin:0 0 12px;padding:8px 10px 8px 26px;max-height:250px;overflow:auto;border:1px solid #e6ecf4;border-radius:8px;background:#f8fafd;font-size:13px}
.delete-list li{margin:5px 0}
.delete-list li strong{font-weight:600;color:#15213d}
.delete-list li small{display:block;color:#7b8aa5;font-size:11px;margin-top:2px}
.delete-confirm .btn-danger{background:#e0364c;color:#fff;border-color:#e0364c}
.delete-confirm .btn-danger:hover{background:#c72b41}
/* 项目管理：分类（分组）+ 筛选栏 */
.project-filters{gap:8px 14px}
/* 筛选面板收起：.workspace-toolbar 是 display:flex，会盖掉浏览器默认的 [hidden]，必须显式声明 */
.project-filters[hidden]{display:none}
/* 项目管理：状态列可点击调整（2026-10-08 需求） */
/* 状态列用 <button> 承载点击，必须清掉浏览器默认按钮边框/背景，否则标签外会多出一圈黑框 */
.state-cell{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;line-height:1;display:inline-block;cursor:pointer}
.state-cell:hover{opacity:.8}
.state-cell:focus-visible{outline:2px solid #0877f9;outline-offset:2px;border-radius:4px}
.state-opts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* 项目文件：招标文件 / 上传成果 分组（2026-10-08 需求） */
.file-group{display:flex;gap:6px 12px;align-items:baseline;margin:6px 0;flex-wrap:wrap}
.file-group-title{flex:0 0 76px;color:#6b7d99;font-size:12px;font-weight:600}
/* 员工端项目文件：招标文件 / 上传成果 分组小标题 */
.files-subhead{display:flex;justify-content:space-between;align-items:center;margin:10px 0 4px;padding:5px 9px;background:#f1f6fd;border-left:3px solid #1c6fd6;border-radius:3px;font-size:12px;color:#1c3a63}
.files-subhead strong{font-weight:600}
.files-subhead span{color:#6b7d99}
.filter-field{display:flex;align-items:center;gap:6px;font-size:12px;color:#435475;white-space:nowrap}
.filter-field>span{color:#6b7d99}
.project-filters .filter-field select,.project-filters .filter-field input{min-width:0;flex:0 1 auto;padding:8px 10px;border:1px solid #dce5f2;border-radius:5px;font-size:12px;background:#fff;color:#15213d}
.project-filters .filter-field input[type="date"]{width:142px}
.project-filters .filter-field input#projectKeyword{min-width:200px}
.filter-tilde{color:#93a2b8}
.workspace-table tbody tr.ws-group-row,.workspace-table tbody tr.ws-group-row:hover{background:#eef4fd;cursor:default}
.workspace-table tbody tr.ws-group-row td{background:#eef4fd;font-weight:600;color:#1b3a6b;padding:9px 12px;border-top:1px solid #d6e2f5;border-bottom:1px solid #d6e2f5}
.ws-group-name{margin-right:10px}
.ws-group-meta{font-weight:400;font-size:11px;color:#5b7191}
.ws-weekday{margin-left:6px;color:#8496ad;font-size:11px}
/* 已归档项目：整行置灰弱化，配合 projectComparator 排序置底（2026-10-09 需求）。
   用 .app 前缀提升优先级，盖过 polish.css 的默认行样式（选中态高亮优先级更高，仍会正常显示）。 */
.app .workspace-table tbody tr.ws-archived{background:#f8f9fb}
.app .workspace-table tbody tr.ws-archived:hover{background:#f2f4f8}
.app .workspace-table tbody tr.ws-archived td{color:#9aa4b4}
.app .workspace-table tbody tr.ws-archived .name-cell{color:#8f99a8}
/* 项目名前的开标日期小标（只显示 月-日，不含年份） */
.ws-open-md{display:inline-block;background:#eef4ff;color:#2b6cb0;border:1px solid #d4e4fb;border-radius:5px;padding:1px 7px;margin-right:8px;font-size:12px;font-variant-numeric:tabular-nums;vertical-align:1px;font-weight:600}
.app .workspace-table tbody tr.ws-archived .ws-weekday{color:#b2bbc9}

