:root{--ink:#17233c;--muted:#6d7890;--line:#e6e9ef;--bg:#f5f7fb;--card:#fff;--primary:#2f63d8;--primary-light:#eef3ff;--success:#21885b;--success-bg:#eaf8f0;--warn:#c07a1b;--warn-bg:#fff6e6;--danger:#c53e4d;--danger-bg:#fff0f1;--purple:#6c55c8;--shadow:0 8px 24px rgba(34,48,80,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei", "PingFang SC", Arial, sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;background:#dfe8f5;color:#243650;border-right:1px solid #c6d5e8;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5}.brand{height:76px;padding:18px 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:37px;height:37px;border-radius:10px;background:linear-gradient(145deg,#5e8eff,#2f63d8);display:grid;place-items:center;font-size:20px;font-weight:700;box-shadow:0 5px 14px rgba(47,99,216,.4)}.brand strong{display:block;font-size:16px;letter-spacing:.5px}.brand small{display:block;color:#aab8d4;margin-top:3px;font-size:11px}.nav{padding:16px 12px;flex:1;overflow:auto}.nav-section{color:#536782;font-size:11px;letter-spacing:1px;padding:13px 12px 7px}.nav-group{margin:4px 0}.nav-group-toggle{border:0;background:transparent;color:#334b6b;display:flex;width:100%;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;cursor:pointer;text-align:left;font:inherit;font-weight:600}.nav-group-toggle:hover,.nav-group.current>.nav-group-toggle{background:#d2dff1;color:#244a86}.nav-group-toggle:focus-visible,.nav-item:focus-visible{outline:2px solid #2f63d8;outline-offset:2px}.nav-group-toggle .nav-chevron{margin-left:auto;transition:transform .18s ease}.nav-group-toggle[aria-expanded="false"] .nav-chevron{transform:rotate(-90deg)}.nav-group-panel{padding:2px 0 6px 14px;border-left:1px solid #c8d8ed;margin-left:21px}.nav-group-panel[hidden]{display:none}.nav-item{border:0;background:transparent;color:#334b6b;display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;margin:2px 0;border-radius:8px;cursor:pointer;text-align:left;font:inherit}.nav-item.nav-child{padding:8px 10px;font-size:13px}.nav-item.nav-child .nav-icon{opacity:.72}.nav-item:hover{background:#d2dff1;color:#244a86}.nav-item.active{background:#2f63d8;color:#fff;box-shadow:0 5px 12px rgba(47,99,216,.22)}.nav-icon{width:19px;text-align:center;opacity:.9}.nav-menu-btn,.nav-backdrop{display:none}.topbar-leading{display:flex;align-items:center;gap:12px}.sidebar-footer{font-size:11px;color:#526680;padding:16px 20px;border-top:1px solid #c6d5e8}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ed18f;margin-right:4px}.main-shell{margin-left:238px;min-width:0;flex:1}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:4}.breadcrumb{font-weight:600;color:#263550}.top-actions{display:flex;align-items:center;gap:16px}.icon-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:8px;color:var(--muted);font-size:19px;cursor:pointer}.user-chip{display:flex;align-items:center;gap:8px;color:#40506b}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dbe6ff;color:var(--primary);font-weight:700}.content{max-width:1440px;margin:auto;padding:30px 34px 48px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:27px;margin:0 0 7px;letter-spacing:-.4px}.page-head p{margin:0;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 14px;color:#36445f;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{border-color:#bfc9db;background:#fafbfe}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary:hover{background:#2556c5}.btn.danger{color:var(--danger);border-color:#f0cdd1}.btn.small{padding:6px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;gap:9px;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.card-pad{padding:20px}.stat-card{padding:20px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-20px;top:-20px;width:85px;height:85px;border-radius:50%;background:var(--primary-light)}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-size:29px;font-weight:700;margin-top:10px;position:relative;z-index:1}.stat-extra{color:var(--muted);font-size:12px;margin-top:5px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:16px;margin:0}.link-btn{border:0;background:none;color:var(--primary);cursor:pointer;padding:0;font:inherit}.dashboard-grid{margin-top:16px}.project-card{padding:19px}.project-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-title h3{font-size:15px;line-height:1.5;margin:0}.muted{color:var(--muted)}.meta-row{display:flex;gap:15px;color:var(--muted);font-size:12px;margin:12px 0}.progress{height:7px;border-radius:10px;background:#edf0f6;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#5b86ec,var(--primary));border-radius:10px}.progress-line{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:6px 0}.list{display:flex;flex-direction:column;gap:11px}.list-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:11px;border-bottom:1px solid #f0f1f4}.list-item:last-child{padding-bottom:0;border-bottom:0}.list-item strong{font-weight:600;line-height:1.45}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 8px;font-size:12px;white-space:nowrap}.badge.blue{background:var(--primary-light);color:var(--primary)}.badge.green{background:var(--success-bg);color:var(--success)}.badge.orange{background:var(--warn-bg);color:var(--warn)}.badge.red{background:var(--danger-bg);color:var(--danger)}.badge.gray{background:#f0f2f6;color:#68758d}.badge.purple{background:#f1efff;color:var(--purple)}.dashboard-lower{margin-top:16px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f1f4}.metric-row:last-child{border-bottom:0}.metric-track{width:42%;height:7px;background:#edf0f6;border-radius:9px;overflow:hidden}.metric-track i{display:block;height:100%;background:#6285de}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.search{flex:1;min-width:210px;position:relative}.search input{width:100%;padding:10px 12px 10px 35px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;outline:none}.search input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#7394ea;box-shadow:0 0 0 3px rgba(47,99,216,.1)}.search span{position:absolute;left:12px;top:9px;color:#8290a8}.select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#44516a;font:inherit;min-width:120px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{text-align:left;background:#fafbfc;color:#738098;font-size:12px;font-weight:600;padding:13px 15px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:14px 15px;border-bottom:1px solid #f0f1f4;vertical-align:middle}.data-table tr:hover td{background:#fbfcff}.data-table tr:last-child td{border-bottom:0}.cell-title{font-weight:600;color:#253654;cursor:pointer}.cell-title:hover{color:var(--primary)}.table-actions{display:flex;gap:6px;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;padding:15px;color:var(--muted);font-size:12px}.page-btns{display:flex;gap:5px}.page-btns button{min-width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}.page-btns button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tabs{display:flex;gap:2px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{border:0;background:none;padding:12px 15px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--primary);border-color:var(--primary);font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.info-item{padding:14px;background:#fafbfc;border-radius:8px}.info-item label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.info-item strong{font-size:15px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.side-stack{display:flex;flex-direction:column;gap:16px}.empty{text-align:center;padding:52px 20px;color:var(--muted)}.empty .empty-icon{font-size:34px;opacity:.55;margin-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:600;color:#45526a}.field label em{color:var(--danger);font-style:normal}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:10px 11px;font:inherit;color:var(--ink);background:#fff;outline:none}.field textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.modal-backdrop{position:fixed;inset:0;background:rgba(20,31,54,.44);z-index:20;display:grid;place-items:center;padding:20px}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:18px;margin:0}.modal-body{padding:22px}.close{border:0;background:none;font-size:23px;color:var(--muted);cursor:pointer}.toast-root{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;gap:10px}.toast{padding:12px 16px;background:#1f2c47;color:#fff;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);animation:fade-in .2s ease;max-width:360px}.toast.error{background:#b43141}.toast.success{background:#197953}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.amount{font-variant-numeric:tabular-nums;text-align:right}.hero-card{background:linear-gradient(135deg,#1e3766,#2f63d8);color:#fff;border:0}.hero-card .muted{color:#d5e0fa}.small-note{font-size:12px;color:var(--muted);line-height:1.6}.callout{padding:13px 15px;border-radius:8px;background:#f6f8fd;color:#4e5e7b;line-height:1.6}.read-only-preview{margin-bottom:16px;border:1px solid #d9e4f5;background:#f7faff;color:#405574}.read-only-preview strong{color:#284d8f}.detail-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.detail-title h2{margin:0 0 6px;font-size:21px}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.kpi{padding:14px;background:#f8faff;border-radius:8px}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:20px;margin-top:5px}.chart-bars{display:flex;align-items:flex-end;gap:15px;height:180px;padding:20px 8px 4px}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.chart-bar i{width:36px;background:linear-gradient(#7ea1ed,#2f63d8);border-radius:6px 6px 2px 2px;min-height:8px}.chart-bar span{font-size:11px;color:var(--muted)}.mobile-only{display:none}@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.nav-chevron{transition:none}}@media (max-width:700px){body{overflow-x:hidden}.sidebar{width:280px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:12px 0 32px rgba(12,24,48,.28)}body.nav-open .sidebar{transform:translateX(0)}.brand{padding:18px 20px;justify-content:flex-start}.brand>div:last-child,.nav-section,.nav-item span:not(.nav-icon),.nav-group-toggle span:not(.nav-icon),.sidebar-footer{display:block}.nav{padding:12px}.nav-item{justify-content:flex-start;padding:10px 12px;min-height:44px}.nav-group-toggle{min-height:44px}.nav-group-toggle .nav-chevron{display:block;margin-left:auto}.nav-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(11,22,42,.44);z-index:4;opacity:0;pointer-events:none;transition:opacity .2s ease}body.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.main-shell{margin-left:0;width:100%}.nav-menu-btn{display:inline-grid;place-items:center}.topbar{padding:0 15px}.content{padding:20px 15px 34px}.page-head{display:block}.page-head .actions{margin-top:14px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.kpi-strip{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:stretch}.toolbar>*{width:100%}.search{min-width:0}.table-wrap{margin:0 -20px}.data-table th,.data-table td{padding:11px 12px}.top-actions .icon-btn:not(.nav-menu-btn){display:none}.modal-backdrop{padding:10px}.modal-body{padding:16px}.mobile-only{display:block}}
.link-card{border:1px solid var(--line);text-align:left;font:inherit;color:inherit;cursor:pointer}.link-card:hover{border-color:#9fb5e8;transform:translateY(-1px)}.danger-text{color:var(--danger)!important}.wide-modal{width:min(1080px,100%)}.wide-modal .info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wide-modal .table-wrap{overflow:auto}.wide-modal .data-table{min-width:850px}@media(max-width:1000px){.wide-modal .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.wide-modal .info-grid{grid-template-columns:1fr}.wide-modal .table-wrap{margin:0}.hero-card .kpi-strip{grid-template-columns:1fr 1fr}}
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f4f7fb,#eaf0f8)}
.login-card{width:min(420px,100%);background:#fff;border:1px solid #e3eaf3;border-radius:18px;box-shadow:0 18px 50px rgba(35,61,92,.12);padding:34px}
.login-brand{margin-bottom:28px}.login-card h1{margin:0 0 8px;font-size:28px;color:#1f2d3d}.login-subtitle{color:#718096;margin:0 0 24px}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px;font-weight:600;color:#3e4d61}.login-form input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d6e0eb;border-radius:9px;font-size:15px}.login-form input:focus{outline:2px solid #b9d5ff;border-color:#5b8def}.login-submit{width:100%;justify-content:center;padding:12px}.login-error{min-height:20px;color:#c33c3c;font-size:13px}.runtime-status{display:none;margin-top:-4px;padding:10px 12px;border:1px solid #dbe7f5;border-radius:9px;background:#f7fbff;color:#52657d;font-size:12px;line-height:1.6}.runtime-status.visible{display:block}.runtime-status.error{border-color:#f0c6c6;background:#fff7f7;color:#a23b3b}.auth-switch{display:block;width:100%;margin-top:12px;padding:8px;border:0;background:transparent;color:#376fc5;cursor:pointer;font-size:13px}.auth-switch:hover{text-decoration:underline}.login-hint{margin-top:22px;padding-top:16px;border-top:1px solid #edf1f5;color:#8a97a8;font-size:12px;line-height:1.7}
@media(max-width:720px){.login-card{padding:26px 20px}.top-actions .user-chip{display:none}.top-actions{gap:6px}}

/* 六大审计领域总览 */
.domain-guidance{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:20px;background:linear-gradient(135deg,#f8faff,#eef3ff)}
.domain-guidance>div{display:grid;gap:6px;min-width:260px}.domain-guidance>div strong{font-size:16px}.domain-guidance>div span{color:var(--primary);font-weight:600}.domain-guidance p{margin:0;max-width:760px;color:var(--muted);line-height:1.8}
.domain-summary{margin-bottom:20px}.domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.domain-card{padding:22px;display:flex;flex-direction:column;gap:18px;min-width:0}.domain-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start}.domain-card-head h2{margin:1px 0 7px;font-size:19px}.domain-card-head p{margin:0;color:var(--muted);line-height:1.65}.domain-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:#5573b8;box-shadow:0 7px 16px rgba(47,99,216,.18)}
.domain-engineering{background:linear-gradient(145deg,#2f63d8,#244b9e)}.domain-finance{background:linear-gradient(145deg,#21885b,#176844)}.domain-contract{background:linear-gradient(145deg,#6c55c8,#4e3ba6)}.domain-funds{background:linear-gradient(145deg,#c07a1b,#9a5c0a)}.domain-procurement{background:linear-gradient(145deg,#17879b,#0f6878)}.domain-internal-control{background:linear-gradient(145deg,#c24e68,#99384e)}
.domain-focus{display:grid;gap:9px}.domain-focus>span{font-size:12px;color:var(--muted);font-weight:600}.domain-focus-list{display:flex;gap:7px;flex-wrap:wrap}.domain-focus-list em{font-style:normal;font-size:12px;color:#425170;background:#f3f6fb;border:1px solid #e5eaf2;border-radius:999px;padding:5px 9px}
.domain-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.domain-metric{padding:10px 11px;border:1px solid var(--line);background:#fafbfe;border-radius:8px}.domain-metric span{display:block;font-size:11px;color:var(--muted);white-space:nowrap}.domain-metric strong{display:block;margin-top:4px;font-size:18px}.domain-metric.attention{background:var(--danger-bg);border-color:#f1ccd1}.domain-metric.attention strong{color:var(--danger)}
.domain-empty-note{padding:11px 13px;border:1px dashed #cfd7e6;border-radius:8px;background:#fafbfc;color:var(--muted);font-size:12px;line-height:1.6}.domain-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
@media(max-width:1100px){.domain-grid{grid-template-columns:1fr}.domain-guidance{display:block}.domain-guidance p{margin-top:14px}}
@media(max-width:700px){.domain-guidance>div{min-width:0}.domain-card{padding:17px}.domain-card-head{grid-template-columns:auto 1fr}.domain-card-head>.badge{grid-column:2}.domain-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-actions .btn{flex:1 1 100%;justify-content:center}.domain-summary{grid-template-columns:1fr 1fr!important}}

/* 六大审计领域详情 */
.domain-detail-head{align-items:center}.domain-title{display:flex;align-items:center;gap:14px}.domain-title .domain-icon{width:52px;height:52px;font-size:23px;flex:0 0 auto}.domain-detail-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:20px;background:linear-gradient(135deg,#fff,#f6f8fc)}.domain-detail-overview>div:first-child{max-width:760px}.domain-detail-overview h2{margin:6px 0 9px}.domain-detail-overview p,.domain-human-note p{margin:0;color:var(--muted);line-height:1.8}.eyebrow{display:block;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.08em}.domain-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.domain-flow-card{position:relative;padding:20px;text-align:left;border:1px solid var(--line);font:inherit;color:inherit;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;transition:.18s ease}.domain-flow-card:hover{transform:translateY(-2px);border-color:#b9c9ee;box-shadow:0 10px 28px rgba(36,75,158,.10)}.domain-flow-index{font-size:11px;color:var(--primary);font-weight:700;background:var(--primary-bg);border-radius:7px;padding:5px 7px}.domain-flow-card h3{margin:2px 0 7px;font-size:16px}.domain-flow-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.domain-flow-card>strong{font-size:24px;color:#263550}.domain-flow-arrow{grid-column:2/4;color:var(--primary);font-size:12px;font-weight:650;margin-top:4px}.domain-detail-empty{text-align:center;margin-bottom:20px}.domain-detail-empty>.btn{margin-top:14px}.domain-capability-boundary{margin-bottom:20px;border-left:4px solid #c07a1b;background:#fffaf0}.domain-capability-boundary h2{margin:6px 0 9px}.domain-capability-boundary p{margin:0;color:#695c42;line-height:1.8}.domain-human-note{display:flex;align-items:flex-start;gap:22px;background:#fffaf0;border-color:#ead8ac}.domain-human-note strong{white-space:nowrap;color:#8a6311}.domain-human-note p{color:#695c42}
@media(max-width:1100px){.domain-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-detail-overview{display:block}.domain-detail-overview .domain-focus{margin-top:18px}}
@media(max-width:700px){.domain-detail-head{align-items:flex-start}.domain-detail-head>.actions{width:100%}.domain-detail-head>.actions .btn{flex:1}.domain-title{align-items:flex-start}.domain-flow-grid{grid-template-columns:1fr}.domain-human-note{display:block}.domain-human-note p{margin-top:8px}}

/* AI 审计助手 */
.ai-top-button{border-color:#c9d7fa;color:var(--primary);background:var(--primary-light)}.ai-boundary{display:flex;align-items:flex-start;gap:14px;border-left:4px solid var(--primary);margin-bottom:18px}.ai-boundary strong{white-space:nowrap;color:#274f9f}.ai-boundary span{line-height:1.7}.ai-summary{margin-bottom:18px}.ai-stat{font-size:20px;overflow-wrap:anywhere}.ai-history .list{gap:0}.ai-run-link{width:100%;border:0;background:transparent;padding:13px 4px;cursor:pointer;text-align:left;font:inherit;color:inherit}.ai-run-link:hover{background:#f8faff}.ai-project-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px dashed #b8c8eb;border-radius:10px;background:#f8faff}.ai-project-entry p{margin:7px 0 0}.ai-drawer-backdrop{place-items:stretch end;padding:0}.ai-drawer{width:min(820px,100%);height:100vh;max-height:none;border-radius:16px 0 0 16px;display:flex;flex-direction:column;overflow:hidden}.ai-drawer .modal-head{flex:0 0 auto;padding:20px 24px}.ai-drawer .modal-body{flex:1;overflow:auto;padding:24px}.ai-step{display:flex;align-items:flex-start;gap:12px;margin:4px 0 16px}.ai-step>span{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700}.ai-step strong{display:block;margin:3px 0 4px}.ai-step p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.ai-source-box{display:grid;gap:12px;margin:16px 0;max-height:330px;overflow:auto;padding:2px}.ai-source-group{border:1px solid var(--line);border-radius:10px;padding:8px 13px 13px;margin:0}.ai-source-group legend{padding:0 6px;font-weight:700;color:#34435e}.ai-source-group legend span{color:var(--muted);font-size:11px;margin-left:4px}.ai-source-option{display:flex;align-items:flex-start;gap:11px;padding:10px 7px;border-radius:8px;cursor:pointer}.ai-source-option:hover{background:#f7f9fd}.ai-source-option:has(input:checked){background:var(--primary-light)}.ai-source-option input{margin:3px 0 0;accent-color:var(--primary)}.ai-source-option>span{display:grid;gap:4px;min-width:0}.ai-source-option strong{font-size:13px;overflow-wrap:anywhere}.ai-source-option small,.ai-citation small{color:var(--muted);overflow-wrap:anywhere}.ai-selection-summary{padding:13px 15px;margin-bottom:16px;border:1px solid #dce4f5;background:#f8faff;border-radius:9px}.ai-selection-summary>strong{display:block}.ai-selection-summary>.small-note{display:block;margin-top:5px}.ai-selected-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.ai-selected-list>span{display:grid;gap:2px;padding:7px 9px;border-radius:7px;background:#fff;border:1px solid #dce4f5;font-size:12px}.ai-selected-list small{color:var(--muted);font-size:10px}.ai-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.ai-result-grid h3,.ai-citations h3{margin:0 0 10px;font-size:15px}.ai-result-grid p,.ai-result-grid li{line-height:1.75}.ai-result-grid ul{margin:0;padding-left:20px}.ai-result-primary{grid-column:1/-1;border-left:4px solid var(--primary)}.ai-citations{margin-top:16px}.ai-citation{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid #f0f1f4}.ai-citation:last-child{border-bottom:0}.ai-draft-form{margin-top:16px}.ai-draft-form textarea{min-height:120px}.ai-settings-card{grid-column:1/-1}.ai-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.ai-config-switch{margin-bottom:16px}.ai-config-note{margin-top:14px}
@media(max-width:1000px){.ai-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ai-top-button{padding:6px 8px}.ai-drawer{width:100%;border-radius:0}.ai-drawer .modal-head{padding:16px}.ai-drawer .modal-body{padding:16px}.ai-result-grid{grid-template-columns:1fr}.ai-result-primary{grid-column:auto}.ai-project-entry{display:block}.ai-project-entry .btn{width:100%;justify-content:center;margin-top:16px}.ai-boundary{display:block}.ai-boundary strong{display:block;margin-bottom:4px}.ai-settings-grid{grid-template-columns:1fr}.ai-source-box{max-height:none}.ai-drawer .form-actions{position:sticky;bottom:-16px;background:#fff;padding-bottom:16px;z-index:2}}
.project-ai-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;min-height:620px}.project-ai-conversations{border-right:1px solid var(--line);padding-right:16px}.project-ai-conversation-list{display:grid;gap:8px}.project-ai-conversation{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;color:inherit;font:inherit;cursor:pointer}.project-ai-conversation.active{border-color:#8ba9ec;background:var(--primary-light)}.project-ai-conversation small{color:var(--muted)}.project-ai-main{min-width:0}.project-ai-context{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:14px;border-radius:10px;background:linear-gradient(135deg,#eef3ff,#f8faff)}.project-ai-context>div{display:grid;gap:4px}.project-ai-context span{font-size:12px;color:var(--muted)}.project-ai-timeline{display:flex;flex-direction:column;gap:13px;min-height:240px;max-height:520px;overflow:auto;padding:4px 2px 18px}.project-ai-message{max-width:88%;padding:14px 16px;border-radius:12px;line-height:1.7}.project-ai-message p{margin:7px 0}.project-ai-message.user{align-self:flex-end;background:#2f63d8;color:#fff;border-bottom-right-radius:3px}.project-ai-message.user .small-note{color:#dbe6ff}.project-ai-message.assistant{align-self:flex-start;background:#f5f7fb;border:1px solid var(--line);border-bottom-left-radius:3px}.project-ai-message h4{margin:0 0 7px}.project-ai-citations{display:flex;flex-wrap:wrap;gap:6px}.project-ai-citations span{padding:3px 7px;border-radius:5px;background:#fff;border:1px solid #dce4f3;color:#51617b;font-size:10px}.project-ai-composer{position:sticky;bottom:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 -7px 24px rgba(34,48,80,.06)}.project-ai-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.project-ai-mode label{padding:7px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.project-ai-mode label:has(input:checked){background:var(--primary-light);border-color:#a9bdeb;color:var(--primary)}.project-ai-sources{margin-bottom:12px}.project-ai-sources summary{cursor:pointer;font-weight:600}.project-ai-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.project-ai-category-grid label{display:flex;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.project-ai-category-grid label:has(input:checked){background:#f5f8ff;border-color:#b8c9ee}.project-ai-category-grid span{display:grid;gap:3px}.project-ai-category-grid small{color:var(--muted)}#projectAiInput{width:100%;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit;resize:vertical}.project-ai-preview{margin-top:10px}.project-ai-source-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.project-ai-source-chips>span{display:grid;padding:6px 8px;background:#fff;border:1px solid #dce4f3;border-radius:6px;font-size:11px}.project-ai-source-chips small{color:var(--muted);overflow-wrap:anywhere}.project-ai-context>.actions{display:flex;align-items:center;flex-direction:row;gap:8px}.project-ai-turn-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.project-ai-facts{margin-top:10px;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.14)}.project-ai-facts summary{cursor:pointer;font-weight:700}.project-ai-facts>div{display:grid;gap:7px;margin-top:8px}.project-ai-facts p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;margin:0;padding:7px 0;border-top:1px solid rgba(255,255,255,.2)}.project-ai-facts small{grid-column:1/-1;opacity:.8;overflow-wrap:anywhere}
@media(max-width:1000px){.project-ai-workspace{grid-template-columns:200px minmax(0,1fr)}.project-ai-category-grid{grid-template-columns:1fr}}
@media(max-width:700px){.project-ai-workspace{display:block}.project-ai-conversations{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:14px}.project-ai-conversation-list{display:flex;overflow:auto}.project-ai-conversation{min-width:190px}.project-ai-context{align-items:flex-start}.project-ai-message{max-width:96%}.project-ai-composer{position:static;padding:12px}.project-ai-mode label{flex:1 1 100%}.project-ai-composer .form-actions{flex-wrap:wrap}.project-ai-composer .form-actions .small-note{width:100%}.project-ai-composer .form-actions .btn{flex:1;justify-content:center}}

/* 统一 AI 助手 */
#modal-root{position:relative;z-index:80}#assistant-root{position:relative;z-index:65}.assistant-backdrop{position:fixed;inset:0;border:0;background:rgba(17,27,49,.34);cursor:default}.assistant-drawer{position:fixed;right:0;top:0;width:min(720px,calc(100vw - 48px));height:100vh;display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 54px rgba(26,42,73,.2);animation:assistant-in .18s ease-out}.assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.assistant-head h2{margin:0}.assistant-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.assistant-context{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 22px;background:#f6f8fc;border-bottom:1px solid var(--line)}.assistant-context>div{display:grid;gap:3px;min-width:0}.assistant-context small{color:var(--muted)}.assistant-context strong{overflow-wrap:anywhere}.assistant-context .link-btn{justify-self:start}.assistant-drawer>.ai-boundary{margin:14px 22px 0}.assistant-body{flex:1;min-height:0;overflow:auto;padding:18px 22px}.assistant-timeline{display:flex;flex-direction:column;gap:12px}.assistant-welcome{padding:20px;border:1px dashed #b8c8eb;border-radius:11px;background:#f8faff}.assistant-welcome p{margin:7px 0 0;color:var(--muted);line-height:1.7}.assistant-composer{position:relative;left:auto;right:auto;bottom:auto;margin:14px -22px -18px;padding:14px 22px 18px;border-top:1px solid var(--line);background:#fff;z-index:3}.assistant-composer textarea{width:100%;min-height:72px;max-height:180px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;resize:vertical;font:inherit}.assistant-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.assistant-actions>.small-note{margin-right:auto}.assistant-revision{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;color:var(--primary);font-size:12px}.assistant-project-candidates{display:grid;gap:8px;margin-bottom:14px}.assistant-project-candidates h3,.assistant-project-candidates p{margin:0}.assistant-project-card{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;color:inherit;font:inherit;cursor:pointer}.assistant-project-card:hover{border-color:#91adeb;background:#f7f9ff}.assistant-project-card span{font-size:12px;color:var(--muted)}.assistant-plan,.assistant-preview{margin:14px 0}.assistant-source-plan{display:flex;flex-wrap:wrap;gap:7px}.assistant-source-plan>span{display:grid;gap:2px;padding:7px 9px;border:1px solid #dce4f3;border-radius:7px;background:#f8faff;font-size:11px}.assistant-source-plan small{color:var(--muted)}.assistant-advanced{margin-top:12px}.assistant-advanced summary{cursor:pointer;font-weight:700}.artifact-card{max-width:100%!important;width:100%;background:#fff!important;border-left:4px solid var(--primary)!important}.artifact-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.artifact-card-head h3{margin:7px 0 0}.artifact-block{padding:13px 0;border-top:1px solid #e8ecf3}.artifact-block:first-of-type{border-top:0}.artifact-block h4{margin:0 0 7px}.artifact-block p{white-space:pre-wrap}.artifact-list{margin:5px 0;padding-left:22px}.artifact-list li{margin:8px 0}.artifact-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.artifact-table{min-width:480px}.artifact-table-refs td{padding-top:2px!important;border-top:0!important}.artifact-limitations{padding:11px 13px;border-radius:8px;background:#fff8e8;color:#6e5520}.artifact-limitations ul{margin:6px 0 0;padding-left:19px}.ai-reference{padding:3px 7px;border:1px solid #dce4f3;border-radius:5px;background:#fff;color:#51617b;font:inherit;font-size:10px;cursor:pointer}.assistant-tab-launcher{text-align:center}.assistant-tab-launcher p{color:var(--muted);line-height:1.7}.assistant-tab-launcher .btn{margin-top:8px}@keyframes assistant-in{from{transform:translateX(28px);opacity:.8}to{transform:none;opacity:1}}
@media(max-width:700px){.assistant-drawer{width:100%;border-radius:0}.assistant-head{padding:15px 16px}.assistant-context{grid-template-columns:1fr;padding:10px 16px}.assistant-drawer>.ai-boundary{margin:10px 16px 0}.assistant-body{padding:14px 16px}.assistant-composer{margin:14px -16px -14px;padding:12px 16px 16px;bottom:auto}.assistant-actions{flex-wrap:wrap}.assistant-actions>.small-note{width:100%;margin:0}.assistant-actions .btn{flex:1;justify-content:center}.artifact-card-head{display:block}.artifact-card-head .actions{margin-top:10px}.artifact-card-head .btn{flex:1}.assistant-backdrop{display:none}}

/* 底稿生成与辅助任务 */
.generation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.generation-steps span{padding:9px 12px;border-radius:8px;background:#f2f4f8;color:var(--muted);font-size:12px;font-weight:600;text-align:center}.generation-steps span.active{background:var(--primary-light);color:var(--primary)}.generation-source-list{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow:auto;margin-top:12px;padding-top:12px;border-top:1px solid #e4e9f4}.generation-source-list>span{display:grid;gap:2px;min-width:170px;max-width:280px;padding:8px 10px;border:1px solid #dce4f3;border-radius:8px;background:#fff;font-size:12px}.generation-source-list strong{color:var(--primary)}.generation-source-list small{color:var(--muted);overflow-wrap:anywhere}.generator-preview{margin-top:16px}.candidate-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eef0f4}.candidate-summary:last-child{border-bottom:0}.candidate-summary span{font-size:12px;color:var(--muted)}.generation-selection-count{align-self:center}.task-list,.candidate-list{display:grid;gap:12px}.generation-task{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff;color:inherit;text-align:left;font:inherit;cursor:pointer}.generation-task:hover{border-color:#afc2ee;background:#f9fbff}.generation-progress{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;border:1px solid #dce4f3;border-radius:9px;background:#f8faff}.candidate-card{padding:17px;border:1px solid var(--line);border-radius:10px;background:#fff}.candidate-card h3{margin:0}.candidate-card p,.auxiliary-result li{line-height:1.75}.candidate-sources{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.candidate-sources span{padding:5px 8px;border-radius:6px;background:#f3f6fb;color:#52617a;font-size:11px}.candidate-select{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.candidate-select input{margin-top:4px;accent-color:var(--primary)}.auxiliary-result ul{padding-left:20px}.domain-workpaper-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;border-left:4px solid var(--primary)}.domain-workpaper-entry>div:first-child{max-width:720px}.domain-workpaper-entry h2{margin:6px 0 9px}.domain-workpaper-entry p{margin:0;color:var(--muted);line-height:1.8}.domain-workpaper-controls{display:grid;gap:8px;min-width:min(360px,100%)}.domain-workpaper-controls label{font-size:12px;font-weight:700;color:#45526a}.domain-workpaper-controls .select{width:100%}
@media(max-width:700px){.modal-backdrop:has(.generator-modal){padding:0}.generator-modal{width:100%;height:100vh;max-height:none;border-radius:0}.generator-modal .modal-body{padding:16px}.generation-steps{grid-template-columns:1fr}.generation-source-list{max-height:260px}.generation-source-list>span{max-width:none;width:100%}.candidate-summary,.generation-task,.domain-workpaper-entry{display:block}.candidate-summary>*{display:block;margin:5px 0}.generation-task .badge{margin-top:9px}.candidate-card .section-title{align-items:flex-start}.candidate-card .actions .btn{flex:1 1 100%;justify-content:center}.domain-workpaper-controls{min-width:0;margin-top:16px}.domain-workpaper-entry>.btn{width:100%;justify-content:center;margin-top:16px}.generator-modal .form-actions{position:sticky;bottom:-16px;background:#fff;padding-bottom:16px;z-index:2;flex-wrap:wrap}.generator-modal .form-actions .btn{flex:1 1 auto;justify-content:center}}


/* 内控台移动端表格横向滚动隔离 */
.table-card{max-width:100%;overflow-x:auto}.table-card table{min-width:780px}


/* Internal-control test evidence and manually linked issue controls. */
.field.span-2{grid-column:1/-1}.ic-multi-select{min-height:138px;line-height:1.45}.field-help{font-size:12px;color:var(--muted);line-height:1.55}.ic-relation-boundary{display:grid;gap:4px;border:1px solid #dce4f3;background:#f8faff}.ic-relation-boundary strong{color:#32415f}.ic-linked-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.ic-linked-detail>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcff}.ic-linked-detail label{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.ic-linked-detail p{margin:0;color:#33415d;line-height:1.65;overflow-wrap:anywhere}.ic-link-warning-list{display:grid;gap:10px;margin-top:12px}.ic-link-warning-list>p{margin:0;padding:10px 12px;border-radius:8px;background:#fff9e8;color:#6f5320;font-size:12px;line-height:1.6}.ic-link-warning{padding:12px 14px;border:1px solid #e8ca79;border-left:4px solid #d79a16;border-radius:8px;background:#fffaf0;color:#694d15}.ic-link-warning strong{display:block;margin-bottom:6px}.ic-link-warning ul{margin:0;padding-left:20px;line-height:1.65}.ic-link-warning li+li{margin-top:3px}
@media(max-width:700px){.ic-linked-detail{grid-template-columns:1fr}}

/* Internal-control defect evaluation candidate workspace. */
.ic-candidate-boundary{display:grid;gap:5px;border-left:4px solid #6c55c8}.ic-candidate-section{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fbfcff}.ic-candidate-section.fact{border-left:4px solid #2f63d8}.ic-candidate-section.evidence{border-left:4px solid #21885b}.ic-candidate-section.cause{border-left:4px solid #c07a1b}.ic-candidate-section.judgment{border-left:4px solid #6c55c8}.ic-candidate-section.suggestion{border-left:4px solid #637083}.ic-human-confirm{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:12px;border-radius:8px;background:#fff8e8;color:#6e5520;line-height:1.55}.ic-human-confirm input{margin-top:3px}.ic-candidate-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.ic-candidate-detail-section{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fbfcff}.ic-candidate-detail-section h3{margin:0 0 8px;font-size:14px}.ic-candidate-detail-section p{margin:0;white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.ic-candidate-detail-section.fact{border-top:3px solid #2f63d8}.ic-candidate-detail-section.evidence{border-top:3px solid #21885b}.ic-candidate-detail-section.cause{border-top:3px solid #c07a1b}.ic-candidate-detail-section.judgment{border-top:3px solid #6c55c8}.ic-candidate-detail-section.suggestion{border-top:3px solid #637083;grid-column:1/-1}@media(max-width:700px){.ic-candidate-detail-grid{grid-template-columns:1fr}.ic-candidate-detail-section.suggestion{grid-column:auto}}

/* Internal-control project fact summary and traceability. */
.ic-summary-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:16px}.ic-summary-flow{display:flex;align-items:stretch;gap:9px;overflow-x:auto;padding:4px 0}.ic-summary-flow>div{min-width:128px;flex:1;padding:14px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfcff;text-align:center}.ic-summary-flow strong{display:block;font-size:24px;color:#263b68}.ic-summary-flow span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.ic-summary-flow i{align-self:center;color:#8d99ad;font-style:normal;font-size:18px}.ic-summary-attention{grid-template-columns:repeat(4,minmax(0,1fr))}.ic-summary-attention .info-item{display:grid;gap:5px}.ic-summary-attention .info-item strong{font-size:22px;color:#32415f}.ic-summary-attention .info-item span{color:var(--muted);font-size:12px;line-height:1.5}.ic-summary-panel{min-width:0}.ic-summary-panel h3{margin:0}.ic-summary-distribution{display:grid;gap:8px}.ic-summary-distribution>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-radius:7px;background:#f7f9fd}.ic-summary-distribution span{color:#52617a}.ic-summary-distribution strong{font-size:16px}.ic-summary-boundary{display:grid;gap:6px;border-left:4px solid #2f63d8}.ic-summary-boundary span{line-height:1.6}.badge-danger{background:var(--danger-bg);color:var(--danger)}
@media(max-width:1100px){.ic-summary-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ic-summary-attention{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ic-summary-kpis,.ic-summary-attention{grid-template-columns:1fr 1fr}.ic-summary-flow>div{min-width:112px}.ic-summary-panel{grid-column:1/-1}}
.ic-summary-feature-note{display:grid;gap:6px;margin-top:12px;border-left:4px solid #d49a2a}.ic-summary-gap-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ic-summary-gap-details>h3{margin:0 0 12px}.ic-summary-gap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ic-summary-gap-block{min-width:0;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fbfcff}.ic-summary-gap-block h3{margin:0 0 9px;font-size:14px}.ic-summary-gap-list{display:grid;gap:8px}.ic-summary-gap-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:#fff}.ic-summary-gap-list>div>span:first-child{display:grid;gap:3px;min-width:0}.ic-summary-gap-list small{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.ic-summary-gap-list .btn,.ic-summary-gap-list .badge{flex:0 0 auto}
@media(max-width:900px){.ic-summary-gap-grid{grid-template-columns:1fr}}
@media(max-width:700px){.ic-summary-gap-list>div{align-items:flex-start;flex-direction:column}.ic-summary-gap-list .btn{width:100%}}

/* 规划9：内部控制证据覆盖与待补证据总览 */
.ic-evidence-summary-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.ic-evidence-summary-attention{grid-template-columns:repeat(4,minmax(0,1fr))}.ic-evidence-summary-attention .info-item{display:grid;gap:5px}.ic-evidence-summary-attention .info-item strong{font-size:22px;color:#32415f}.ic-evidence-summary-attention .info-item span{color:var(--muted);font-size:12px;line-height:1.5}.ic-evidence-summary-boundary{display:grid;gap:6px;border-left:4px solid #356bd6}.ic-evidence-summary-boundary span{line-height:1.6}.ic-evidence-summary-panel{min-width:0}.ic-evidence-summary-panel h3{margin:0}.ic-evidence-summary-distribution{display:grid;gap:8px}.ic-evidence-summary-distribution>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-radius:7px;background:#f7f9fd}.ic-evidence-summary-distribution span{color:#52617a}.ic-evidence-summary-distribution strong{font-size:16px}.ic-evidence-summary-table th:nth-child(1){min-width:185px}.ic-evidence-summary-table th:nth-child(2){min-width:150px}.ic-evidence-summary-table th:nth-child(3){min-width:175px}.ic-evidence-summary-table th:nth-child(5){min-width:310px}.ic-evidence-summary-table th:nth-child(6){min-width:190px}.ic-evidence-summary-count{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 7px;min-width:105px}.ic-evidence-summary-count strong{font-size:19px;color:#304a7a}.ic-evidence-summary-count span{font-size:11px;color:var(--muted)}.ic-evidence-summary-count i{grid-column:1/-1;color:#8b99af;font-style:normal}.ic-evidence-summary-links{display:grid;gap:8px}.ic-evidence-summary-link{display:grid;grid-template-columns:minmax(125px,1fr) minmax(145px,.8fr);gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff}.ic-evidence-summary-link>div{display:grid;gap:3px;align-content:start}.ic-evidence-summary-link span,.ic-evidence-summary-link small{overflow-wrap:anywhere}.ic-evidence-summary-link small{color:var(--muted);line-height:1.45}.ic-evidence-summary-warnings{display:grid;gap:6px}.ic-evidence-summary-warnings span{padding:7px 9px;border-radius:7px;background:var(--danger-bg);color:var(--danger);font-size:12px;line-height:1.45}.ic-evidence-summary-gap-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ic-evidence-summary-gap-details>h3{margin:0 0 12px}.ic-evidence-summary-gap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ic-evidence-summary-gap-block{min-width:0;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fbfcff}.ic-evidence-summary-gap-block h3{margin:0 0 5px;font-size:14px}.ic-evidence-summary-gap-block>p{margin:0 0 9px}.ic-evidence-summary-gap-list{display:grid;gap:8px}.ic-evidence-summary-gap-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:#fff}.ic-evidence-summary-gap-list>div>span:first-child{display:grid;gap:3px;min-width:0}.ic-evidence-summary-gap-list small{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.ic-evidence-summary-gap-list .btn{flex:0 0 auto}
@media(max-width:1250px){.ic-evidence-summary-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ic-evidence-summary-attention{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ic-evidence-summary-gap-grid{grid-template-columns:1fr}.ic-evidence-summary-panel{grid-column:1/-1}}
@media(max-width:700px){.ic-evidence-summary-kpis,.ic-evidence-summary-attention{grid-template-columns:1fr 1fr}.ic-evidence-summary-link{grid-template-columns:1fr}.ic-evidence-summary-gap-list>div{align-items:flex-start;flex-direction:column}.ic-evidence-summary-gap-list .btn{width:100%}}
@media(max-width:480px){.ic-evidence-summary-kpis,.ic-evidence-summary-attention{grid-template-columns:1fr}}
.ic-relation-drawer .modal-body{max-height:78vh;overflow:auto}
.ic-relation-boundary{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ic-relation-boundary span{display:block}
.ic-relation-sections{display:grid;gap:16px;margin-top:18px}
.ic-relation-section{border:1px solid var(--line,#dbe3ef);border-radius:12px;padding:14px;background:var(--surface-muted,#f8fafc)}
.ic-relation-section .section-title{margin-bottom:10px}
.ic-relation-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line,#dbe3ef)}
.ic-relation-item:first-of-type{border-top:0}
.ic-relation-item>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.ic-relation-item strong,.ic-relation-item span,.ic-relation-item small{display:block;overflow-wrap:anywhere}
.ic-relation-item small{color:var(--muted,#64748b)}
.ic-relation-warning{color:#b45309!important}
.ic-relation-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ic-relation-warning-list{margin-top:16px;padding:12px 14px;border:1px solid #f3c68a;border-radius:10px;background:#fff8eb;color:#7c4a03}
.ic-relation-warning-list ul{margin:8px 0 0 18px}
@media(max-width:760px){.ic-relation-item{flex-direction:column}.ic-relation-actions{justify-content:flex-start}}
.ic-relation-source{color:#475569!important}.ic-relation-version{color:#0f766e!important}.ic-relation-anomaly{color:#b42318!important;font-weight:600}.ic-relation-limit{display:flex;flex-direction:column;gap:4px;margin-top:12px;border-left:4px solid #b7791f}.ic-relation-limit strong{color:#7c4a03}.ic-relation-item .small-note{white-space:nowrap}


/* 项目概况：审计链路与人工核验 */
.project-trace-chain{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.project-trace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.project-trace-head h3{margin:0 0 6px;font-size:16px}.project-trace-head p{margin:0;color:var(--muted);line-height:1.65}.project-trace-boundary{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#fff6e6;color:#7c4a03;font-size:12px;white-space:nowrap}.project-trace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-trace-node{min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:7px}.project-trace-node.has-records{border-top:3px solid var(--success)}.project-trace-node.no-records{border-top:3px solid #c7cedb}.project-trace-node-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-trace-index{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700}.project-trace-status{font-size:12px;color:var(--success)}.project-trace-node.no-records .project-trace-status{color:var(--muted)}.project-trace-node h4{margin:0;font-size:14px}.project-trace-node p{margin:0;color:#52617a;line-height:1.5;min-height:42px}.project-trace-review{color:#7c4a03;font-size:11px;line-height:1.45}.project-trace-open{align-self:flex-start;margin-top:auto}.project-trace-footnote{margin:14px 0 0;line-height:1.5}@media(max-width:1100px){.project-trace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.project-trace-head{flex-direction:column}.project-trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-trace-open{width:100%;justify-content:center}}@media(max-width:480px){.project-trace-grid{grid-template-columns:1fr}}

/* 专业域页签统一的来源、版本、关系和去向提示 */
.project-domain-trace{margin-top:18px;padding:18px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}.project-domain-trace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.project-domain-trace-head h3{margin:0 0 6px;font-size:15px}.project-domain-trace-head p{margin:0;color:var(--muted);line-height:1.6}.project-domain-trace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-domain-trace-grid>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;gap:6px}.project-domain-trace-grid strong{font-size:13px}.project-domain-trace-grid span{color:#52617a;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.project-domain-trace-grid .actions{margin-top:auto}@media(max-width:1000px){.project-domain-trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-domain-trace-head{flex-direction:column}.project-domain-trace-grid{grid-template-columns:1fr}.project-domain-trace-grid .btn{width:100%;justify-content:center}}

/* 项目关联记录级来源、版本和人工核验提示 */
.project-field-trace{margin-top:18px;padding:18px;border:1px solid #dbe3ef;border-radius:12px;background:#fdfefe}.project-field-trace-scope{margin:-2px 0 12px;padding:9px 11px;border-radius:8px;background:#f4f7fb;color:#52617a;font-size:12px;line-height:1.55}.project-field-trace-list{display:grid;gap:8px}.project-field-trace-row{display:grid;grid-template-columns:minmax(150px,.75fr) repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.project-field-trace-row>div{min-width:0}.project-field-trace-field{display:flex;align-items:flex-start}.project-field-trace-field strong{font-size:13px;line-height:1.5}.project-field-trace-row span{display:block;margin-bottom:4px;color:#7c4a03;font-size:11px;font-weight:700}.project-field-trace-row p{margin:0;color:#52617a;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.project-field-trace-boundary{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff8ea;color:#7c4a03;font-size:12px;line-height:1.55}@media(max-width:900px){.project-field-trace-row{grid-template-columns:1fr 1fr}.project-field-trace-field{grid-column:1/-1}}@media(max-width:560px){.project-field-trace-row{grid-template-columns:1fr}.project-field-trace-field{grid-column:auto}}
.project-relation-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:5px;color:#64748b;font-size:11px;line-height:1.45}.project-relation-review{margin-top:4px;color:#7c4a03;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.runtime-health-card{grid-column:1/-1}.runtime-health-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}.runtime-health-message{margin:12px 0 0;line-height:1.6}

/* 记录详情：来源、版本、关系摘要和人工核验边界 */
.record-trace-summary{margin-top:16px;padding:16px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}.record-trace-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.record-trace-summary-head h3{margin:0 0 5px;font-size:15px}.record-trace-summary-head p{margin:0;color:var(--muted);line-height:1.55}.record-trace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.record-trace-grid>div{min-width:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;gap:5px}.record-trace-grid strong{font-size:12px}.record-trace-grid span{color:#52617a;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.record-trace-relations{grid-column:span 2}.record-trace-boundary{margin-top:12px;color:#7c4a03;font-size:11px;line-height:1.55;overflow-wrap:anywhere}@media(max-width:900px){.record-trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-trace-relations{grid-column:span 2}}@media(max-width:600px){.record-trace-summary-head{flex-direction:column}.record-trace-grid{grid-template-columns:1fr}.record-trace-relations{grid-column:auto}}

.record-trace-version-change{display:grid;gap:5px;margin-top:12px;padding:11px 12px;border:1px solid #f3c68a;border-left:4px solid #d97706;border-radius:9px;background:#fff8eb;color:#7c4a03}.record-trace-version-change strong{font-size:12px}.record-trace-version-change span,.record-trace-version-change p{font-size:11px;line-height:1.55;overflow-wrap:anywhere}.record-trace-version-change p{margin:0}

.ic-relation-version-change{padding:6px 8px;border-left:3px solid #d97706;border-radius:5px;background:#fff8eb;color:#7c4a03!important;font-size:11px;line-height:1.55}
.trace-facts{margin-top:16px;padding:14px 16px;border:1px solid #dbe3ef;border-radius:10px;background:#fbfcff}.trace-facts .section-title{align-items:flex-start}.trace-facts .section-title h3{margin:0 0 4px;font-size:14px}.trace-facts .info-grid{margin-top:10px}.trace-facts .info-item strong{overflow-wrap:anywhere;line-height:1.5}

.trace-summary{margin-top:16px;border:1px solid #dbe3ef;background:#f8fafc}.trace-summary .section-title{align-items:flex-start}.trace-summary .section-title h3{margin:0 0 4px;font-size:15px}.trace-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.trace-status.ok{background:#e7f6ee;color:#176b42}.trace-status.warning{background:#fff1dc;color:#8a5000}.trace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.trace-grid .info-item{min-width:0}.trace-grid .trace-wide{grid-column:1/-1}.trace-grid .info-item strong{overflow-wrap:anywhere;line-height:1.5}.trace-alerts{margin-top:12px;padding:11px 13px;border:1px solid #f3c68a;border-left:4px solid #d97706;border-radius:9px;background:#fff8eb;color:#7c4a03}.trace-alerts strong{font-size:12px}.trace-alerts ul{margin:6px 0 0;padding-left:18px}.trace-alerts li{font-size:12px;line-height:1.6}.trace-boundary{margin-top:12px}.trace-summary+.form-actions{margin-top:22px}@media(max-width:900px){.trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.trace-grid{grid-template-columns:1fr}}

.trace-verification{margin-top:14px;padding:12px 13px;border:1px solid #cbd8ee;border-radius:10px;background:#fff}.trace-verification summary{cursor:pointer;color:#294b88;font-size:12px;font-weight:700}.trace-verification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.trace-verification-item{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #e2e8f2;border-radius:8px;background:#fbfcff;cursor:pointer}.trace-verification-item input{margin-top:2px;accent-color:var(--primary)}.trace-verification-item span{display:grid;gap:3px;min-width:0}.trace-verification-item strong{font-size:12px;color:#33415c}.trace-verification-item small{font-size:11px;color:#68758c;line-height:1.5}.trace-verification>.small-note{margin:10px 0 0;line-height:1.5}@media(max-width:700px){.trace-verification-list{grid-template-columns:1fr}}

/* 记录详情：审计链路入口（只读、人工核验） */
.trace-chain-panel{margin-top:14px;padding:14px;border:1px solid #cbd8ee;border-radius:10px;background:#fbfcff}.trace-chain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.trace-chain-head h4{margin:0 0 5px;color:#294b88;font-size:13px}.trace-chain-head p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.trace-chain-boundary{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef3ff;color:#385a9a;font-size:11px;white-space:nowrap}.trace-chain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.trace-chain-node{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid #e1e7f1;border-radius:8px;background:#fff}.trace-chain-node.current{border-color:#9db6ed;background:#f4f7ff}.trace-chain-node.ai-node{border-color:#c4b5fd;background:#faf7ff}.trace-chain-node.ai-node .trace-chain-index{background:#ede9fe;color:#6d28d9}.trace-chain-node.ai-node .trace-chain-status{color:#6d28d9}.trace-chain-node.ai-candidate{border-color:#8b5cf6;border-left:4px solid #7c3aed;background:#f7f3ff}.trace-chain-node-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.trace-chain-index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e8eefc;color:#2f63d8;font-size:11px;font-weight:700}.trace-chain-status{font-size:10px;color:#68758c;white-space:nowrap}.trace-chain-node strong{font-size:12px;color:#33415c}.trace-chain-node small{min-height:31px;color:#68758c;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.trace-chain-open{justify-self:start;margin-top:2px}.trace-chain-open:disabled{opacity:.55;cursor:not-allowed}@media(max-width:900px){.trace-chain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.trace-chain-head{display:grid}.trace-chain-grid{grid-template-columns:1fr}}

/* AI 助手工作台状态与职责边界 */
.assistant-workspace-state{margin:14px 0;padding:12px 14px;border:1px solid #cbd8ee;border-radius:10px;background:#fbfcff}.assistant-workspace-state-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assistant-workspace-state-head>div{display:grid;gap:3px}.assistant-workspace-state-head strong{font-size:13px;color:#294b88}.assistant-workspace-state-head span{font-size:11px;color:#68758c;line-height:1.5}.assistant-state-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#e8f0ff;color:#2f63d8;font-size:10px;white-space:nowrap}.assistant-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.assistant-state-card{display:grid;gap:4px;min-width:0;padding:9px;border:1px solid #e1e7f1;border-radius:8px;background:#fff}.assistant-state-card small{color:#68758c;font-size:10px}.assistant-state-card strong{color:#33415c;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.assistant-workspace-project{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #e8edf5;font-size:11px}.assistant-workspace-project>span:first-child{color:#68758c}.assistant-workspace-project strong{overflow-wrap:anywhere}.assistant-responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.assistant-responsibility-card{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.assistant-responsibility-card h3{margin:0;font-size:13px}.assistant-responsibility-card ul{margin:0;padding-left:18px;color:#52617a;font-size:11px;line-height:1.6}.assistant-responsibility-card span{font-size:10px;line-height:1.5}.assistant-responsibility-card.ai{border-top:3px solid #2f63d8}.assistant-responsibility-card.ai h3{color:#2f63d8}.assistant-responsibility-card.ai span{color:#49669e}.assistant-responsibility-card.human{border-top:3px solid #c07a1b}.assistant-responsibility-card.human h3{color:#9a5d0a}.assistant-responsibility-card.human span{color:#7c5b2a}.assistant-output-state{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:10px;border:1px dashed #cfd9e9;border-radius:9px;background:#f8fafc}.assistant-output-state>div{display:grid;gap:3px;min-width:0}.assistant-output-state strong{font-size:11px;color:#33415c}.assistant-output-state span{font-size:10px;color:#68758c;line-height:1.5;overflow-wrap:anywhere}@media(max-width:700px){.assistant-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-workspace-project{grid-template-columns:1fr}.assistant-responsibility-grid,.assistant-output-state{grid-template-columns:1fr}}

.empty-guidance{text-align:left;max-width:880px;margin:0 auto;padding:32px 28px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.empty-guidance .empty-icon{text-align:center}.empty-guidance>strong{display:block;text-align:center;color:var(--ink);font-size:16px}.empty-guidance-meta{text-align:center;margin-top:8px;color:var(--muted);font-size:12px}.empty-guidance-scope{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin-top:18px;padding:12px 14px;border-radius:8px;background:var(--primary-light);color:var(--muted);font-size:12px}.empty-guidance-scope b{color:var(--ink);font-weight:600}.empty-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.empty-guidance-grid>div{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.empty-guidance-label{display:block;color:var(--ink);font-size:12px;font-weight:700;margin-bottom:7px}.empty-guidance-grid p,.empty-guidance-grid ul,.empty-guidance-grid ol{margin:0;color:var(--muted);font-size:12px;line-height:1.7;padding-left:18px}.empty-guidance-grid p{padding-left:0}.empty-guidance-boundary{margin-top:14px;padding:12px 14px;border-radius:8px;background:var(--warn-bg);color:#805516;font-size:12px;line-height:1.7}.empty-guidance-boundary strong{color:#68440d}@media (max-width:700px){.empty-guidance{padding:24px 18px}.empty-guidance-grid{grid-template-columns:1fr}}

/* 内容架构与人工核验边界 */
.domain-content-architecture{margin-top:18px}.domain-field-scope{margin-top:16px;padding-top:16px;border-top:1px solid var(--border,#dfe5ec)}.domain-field-scope .section-title{align-items:flex-start;margin-bottom:10px}.domain-field-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.domain-field-scope-card{border:1px solid var(--border,#dfe5ec);border-radius:12px;padding:14px;background:#fff}.domain-field-scope-card h4{margin:0 0 10px;font-size:14px;color:var(--text,#172033)}.domain-field-scope-card dl{margin:0}.domain-field-scope-card dt{margin-top:8px;font-size:11px;color:var(--text-muted,#52606d);font-weight:700}.domain-field-scope-card dt:first-child{margin-top:0}.domain-field-scope-card dd{margin:3px 0 0;color:var(--text-muted,#52606d);font-size:13px;line-height:1.55}.domain-field-scope-card dd+dt{border-top:1px dashed var(--border,#dfe5ec);padding-top:8px}@media (max-width:900px){.domain-field-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.domain-field-scope-grid{grid-template-columns:1fr}}.domain-content-architecture .section-title{align-items:flex-start}.domain-architecture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.domain-architecture-block{border:1px solid var(--border,#dfe5ec);border-radius:12px;padding:14px;background:var(--surface-muted,#f8fafc)}.domain-architecture-block h3{margin:0 0 8px;font-size:14px}.domain-architecture-block ul,.domain-architecture-block ol{margin:0;padding-left:20px}.domain-architecture-block li,.domain-architecture-block p{margin:5px 0;color:var(--text-muted,#52606d);font-size:13px;line-height:1.55}.domain-content-architecture .alert{margin-top:14px;line-height:1.65}@media (max-width:900px){.domain-architecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.domain-architecture-grid{grid-template-columns:1fr}}


.project-missing-state{max-width:880px;margin:18px auto;padding:28px;border:1px solid #f1cf91;border-radius:12px;background:#fffaf0;color:#704b14}.project-missing-state .empty-icon{text-align:center}.project-missing-state h2{margin:6px 0;text-align:center;color:#704b14;font-size:18px}.project-missing-state>p{text-align:center;color:#795b2b;font-size:13px;line-height:1.6}.project-missing-scope{margin-top:16px;padding:11px 13px;border-radius:8px;background:#fff8ea;color:#795b2b;font-size:12px;overflow-wrap:anywhere}.project-missing-guidance{margin-top:12px;padding:12px 14px;border:1px solid #f1cf91;border-radius:8px;background:#fff}.project-missing-guidance strong{font-size:12px;color:#7c4a03}.project-missing-guidance ul{margin:7px 0 0;padding-left:20px;color:#795b2b;font-size:12px;line-height:1.7}.project-missing-state>.small-note{display:block;margin-top:12px;line-height:1.6}@media(max-width:560px){.project-missing-state{padding:20px 16px}.project-missing-state h2{font-size:16px}}

/* 组合关系回归：仅提示人工核验，不表达审计结论 */
.project-relation-combination-review{margin:12px 0;padding:12px 14px;border:1px solid #f1cf91;border-left:4px solid #c27a12;border-radius:9px;background:#fffaf0;color:#704b14}.project-relation-combination-review strong{display:block;color:#8a5a0a;font-size:13px;line-height:1.5}.project-relation-combination-review p{margin:5px 0 7px;color:#795b2b;font-size:12px;line-height:1.6}.project-relation-combination-review ul{margin:0;padding-left:19px}.project-relation-combination-review li{margin:3px 0;color:#795b2b;font-size:12px;line-height:1.55}.project-relation-combination-review .small-note{margin-top:8px;color:#856b3e;font-size:11px;line-height:1.55}@media(max-width:560px){.project-relation-combination-review{padding:11px 12px}.project-relation-combination-review li{overflow-wrap:anywhere}}

.eng-reconciliation{margin:12px 0 16px;padding:14px 16px;border:1px solid #f1cf91;border-left:4px solid #c27a12;border-radius:10px;background:#fffaf0;color:#704b14;line-height:1.6}
.eng-reconciliation>strong{font-size:13px;color:#704b14}.eng-reconciliation>p{margin:7px 0 0;font-size:12px}
.eng-reconciliation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:11px 0}
.eng-reconciliation-metrics>div{padding:10px 12px;border:1px solid #f1e0bd;border-radius:8px;background:#fff;min-width:0}
.eng-reconciliation-metrics span{display:block;color:#795b2b;font-size:11px;line-height:1.5}
.eng-reconciliation-metrics strong{display:block;margin-top:4px;color:#344054;font-size:14px;overflow-wrap:anywhere}
@media(max-width:700px){.eng-reconciliation-metrics{grid-template-columns:1fr}}

@media(max-width:700px){
  .eng-adjustment-results,.eng-adjustment-results tbody,.eng-adjustment-results tr,.eng-adjustment-results td{display:block;width:100%;min-width:0}
  .eng-adjustment-results thead{display:none}
  .eng-adjustment-results tr{margin:0 0 10px;border:1px solid #f1e0bd;border-radius:8px;background:#fff;overflow:hidden}
  .eng-adjustment-results td{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;padding:8px 10px;white-space:normal;overflow-wrap:anywhere;border:0}
  .eng-adjustment-results td+td{border-top:1px solid #f3ead9}
  .eng-adjustment-results td::before{content:attr(data-label);font-size:11px;font-weight:600;color:#795b2b}
  .eng-adjustment-results details{min-width:0}
}

/* AI 配置中心：准备度、凭据方式与只读预览 */
.ai-config-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:16px;margin:18px 0}
.ai-setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ai-setup-step{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}
.ai-setup-step>span{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:700;background:#eef1f6;color:#667085}
.ai-setup-step.done>span{background:#e6f5ec;color:#207a45}.ai-setup-step.pending{border-style:dashed}
.ai-setup-step div,.ai-config-security{display:grid;gap:4px}.ai-setup-step strong{font-size:13px}.ai-setup-step small,.ai-config-security span{color:var(--muted);font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.ai-config-security{align-content:start;padding:14px;border:1px solid #cbd8f2;border-radius:10px;background:#f7f9ff}
.ai-config-next{display:grid;gap:5px;margin:0 0 16px}.ai-config-readiness{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.ai-config-readiness>span:last-child{color:var(--muted);font-size:12px}
.ai-config-modal{width:min(780px,calc(100vw - 28px))}.ai-config-modal .field small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.55}.ai-credential-panel[hidden],#aiEndpointField[hidden]{display:none!important}
@media(max-width:1050px){.ai-config-overview{grid-template-columns:1fr}.ai-setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ai-settings-grid,.ai-setup-steps{grid-template-columns:1fr}.ai-config-modal{width:100%;margin:0}.ai-config-overview{gap:12px}}

/* AI configuration lifecycle, diagnostics and audit history */
.callout.warning{background:var(--warn-bg);color:#7d541b;border:1px solid #f0d49e}.ai-test-history,.ai-audit-list{display:grid;gap:10px}.ai-test-history{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.ai-test-history>strong{margin-bottom:2px}.ai-test-row{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(180px,2fr);align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.ai-test-row small{color:var(--muted);overflow-wrap:anywhere}.ai-audit-list{margin-top:16px}.ai-audit-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.ai-audit-row>div{display:grid;gap:5px}.ai-audit-row span,.ai-audit-row small{color:var(--muted);line-height:1.6}.ai-audit-row small{white-space:nowrap}@media(max-width:700px){.ai-test-row{grid-template-columns:auto 1fr}.ai-test-row small{grid-column:1/-1}.ai-audit-row{display:grid}.ai-audit-row small{white-space:normal}}

.ai-runtime-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.ai-runtime-status .callout{display:grid;gap:4px;min-width:0}.ai-runtime-status .callout strong{color:inherit}.ai-runtime-status .callout span,.ai-runtime-status .callout small{line-height:1.55;overflow-wrap:anywhere}.callout.success{background:var(--success-bg);color:#22663f;border:1px solid #b9dfc9}.callout.failure{background:var(--danger-bg);color:#8f2f3a;border:1px solid #efc3c8}@media(max-width:700px){.ai-runtime-status{grid-template-columns:1fr}}

/* AI connection verification state */
.ai-connection-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.ai-connection-status.success{border-color:#a9d7bd;background:#f1faf5}.ai-connection-status.failure{border-color:#efc8a0;background:#fff8ef}.ai-connection-status.pending{border-color:#d5dbe5;background:#f8fafc}.ai-connection-status-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:800;background:#e7edf5;color:#526174}.ai-connection-status.success .ai-connection-status-icon{background:#d9f2e3;color:#19703d}.ai-connection-status.failure .ai-connection-status-icon{background:#ffe5c7;color:#9a5514}.ai-connection-status>div:nth-child(2){display:grid;gap:4px}.ai-connection-status span,.ai-connection-status small{color:var(--muted);line-height:1.5}.ai-connection-status small{display:block}@media(max-width:700px){.ai-connection-status{grid-template-columns:auto 1fr}.ai-connection-status>.btn{grid-column:1/-1;width:100%}}

/* AI assistant recovery states and expired connection tests */
.assistant-recovery{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.assistant-recovery>span{min-width:0;flex:1;overflow-wrap:anywhere}
.assistant-recovery>.btn{flex:0 0 auto}
.assistant-turn-failure{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px}
.assistant-turn-failure>div{display:grid;gap:4px;min-width:0}
.assistant-turn-failure span{line-height:1.55;overflow-wrap:anywhere}
.assistant-turn-failure>.btn{flex:0 0 auto}
.ai-test-row.stale{opacity:.76;background:#f8fafc}
.ai-test-row.stale .badge{filter:saturate(.55)}
@media(max-width:700px){.assistant-recovery,.assistant-turn-failure{display:grid}.assistant-recovery>.btn,.assistant-turn-failure>.btn{width:100%}}

/* AI configuration activation journey */
.ai-activation-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 4px}
.ai-activation-step{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:11px;border:1px dashed var(--line);border-radius:9px;background:#fafbfc}
.ai-activation-step>span{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#eef1f6;color:#667085;font-size:11px;font-weight:700}
.ai-activation-step>div{display:grid;gap:3px;min-width:0}.ai-activation-step strong{font-size:12px}.ai-activation-step small{color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.ai-activation-step.done{border-style:solid;border-color:#b7dfc6;background:#f3faf6}.ai-activation-step.done>span{background:#d9f2e3;color:#19703d}
@media(max-width:700px){.ai-activation-journey{grid-template-columns:1fr}}

/* Model catalog selection stays inside the credential configuration dialog. */
.ai-model-picker{border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:14px;background:var(--panel,#f8fafc);display:grid;gap:10px;min-width:0}
.ai-model-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ai-model-picker-head label{font-weight:650}
.ai-model-picker select,.ai-model-picker input{width:100%;min-width:0;box-sizing:border-box}
.ai-model-picker .field{margin:0}.ai-model-picker [hidden]{display:none!important}
.ai-model-hint{margin:0;font-size:12px;line-height:1.7;color:var(--muted,#526174);overflow-wrap:anywhere}
#aiModelDetectionStatus{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.ai-model-unsaved{padding:9px 12px;border-radius:6px;background:#fff5df;color:#805500;font-size:13px;line-height:1.6}
@media(max-width:560px){.ai-model-picker-head{align-items:stretch;flex-direction:column}.ai-model-picker-head .btn{width:100%}}
.ai-model-picker select{min-height:42px;padding:10px 11px;border:1px solid var(--line,#dbe2ea);border-radius:8px;font:inherit;color:var(--ink,#17233c);background:#fff}
.ai-model-picker select:focus-visible{outline:2px solid #7394ea;outline-offset:2px}
.ai-config-modal .form-actions{flex-wrap:wrap}
.ai-config-modal .form-grid>*{min-width:0}

.assistant-task-warning{display:block;margin-top:5px;color:#9a5b00;font-size:11px;line-height:1.5}
/* AI report observations become controlled issue candidates, never direct ledger writes. */
.assistant-issue-candidates{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0;padding:12px;border:1px solid #ead8ac;border-radius:10px;background:#fffaf0}
.assistant-issue-candidates>div{display:grid;gap:3px;flex:1 1 260px}.assistant-issue-candidates>div span{color:#695c42;font-size:12px;line-height:1.55}
.ai-candidate-readonly{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-candidate-sources{display:grid;gap:7px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}
.ai-candidate-sources p{margin:0;color:var(--muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}.ai-candidate-sources>div{display:flex;flex-wrap:wrap;gap:7px}
.ai-issue-review-panel{display:grid;gap:12px;margin-bottom:16px}.ai-issue-review-panel fieldset{display:grid;gap:9px;margin:0;padding:13px;border:1px solid #ead8ac;border-radius:9px;background:#fffaf0}
.ai-issue-review-panel legend{padding:0 6px;font-weight:700;color:#7b5a18}.ai-issue-review-panel fieldset label{display:flex;align-items:flex-start;gap:9px;line-height:1.55}.ai-issue-review-panel fieldset input{margin-top:3px;accent-color:var(--primary)}
@media(max-width:700px){.assistant-issue-candidates{align-items:stretch}.assistant-issue-candidates>.btn{width:100%}}


/* 报告成果导出前来源核验 */
.deliverable-preflight-note{margin-top:14px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;display:flex;gap:10px;align-items:flex-start;color:#334155}
.deliverable-preflight-note strong{color:#0f172a;white-space:nowrap}
.deliverable-review-modal{max-width:760px}
.deliverable-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.deliverable-review-summary>div{padding:11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.deliverable-review-summary span{display:block;font-size:12px;color:#64748b;margin-bottom:5px}
.deliverable-review-summary strong{display:block;color:#0f172a;overflow-wrap:anywhere}
.deliverable-review-summary strong.ok{color:#047857}.deliverable-review-summary strong.blocked{color:#b91c1c}
.deliverable-review-findings{margin:12px 0;padding:12px 14px;border-radius:10px;border:1px solid #cbd5e1}
.deliverable-review-findings strong{display:block;margin-bottom:6px}.deliverable-review-findings ul{margin:6px 0 0;padding-left:20px}.deliverable-review-findings li+li{margin-top:5px}
.deliverable-review-findings.blocked{background:#fef2f2;border-color:#fecaca;color:#991b1b}.deliverable-review-findings.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.deliverable-review-findings.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.deliverable-review-boundary{margin:12px 0;padding:12px 14px;border-left:4px solid #64748b;background:#f8fafc;color:#334155}.deliverable-review-boundary p{margin:6px 0 0;line-height:1.65}
.deliverable-review-confirmations{margin:14px 0 0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px}.deliverable-review-confirmations legend{padding:0 6px;font-weight:700;color:#0f172a}.deliverable-review-confirmations label{display:flex;gap:8px;align-items:flex-start;padding:7px 0;color:#334155}.deliverable-review-confirmations input{margin-top:3px}
@media(max-width:760px){.deliverable-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.deliverable-preflight-note{display:block}.deliverable-preflight-note strong{display:block;margin-bottom:6px}}

/* 项目概况：AI成果/候选追溯节点 */
.project-trace-node.is-ai-node{border-top-color:#7c3aed;background:linear-gradient(180deg,#faf7ff 0,#fff 45%)}
.project-trace-node.is-ai-node .project-trace-index{background:#ede9fe;color:#6d28d9}
.project-trace-node.is-ai-node .project-trace-status{color:#6d28d9}
.project-trace-node.is-ai-node .project-trace-review{color:#5b21b6}
.project-trace-node.is-ai-node .project-trace-open{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}
.project-trace-node.is-ai-node .project-trace-open:hover{background:#ede9fe}


/* 记录级链路节点：关系来源、核验状态与异常只读提示 */
.trace-chain-relation-meta{display:block;min-height:16px;padding-top:4px;border-top:1px dashed #e3e8f0;color:#52617a;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.trace-chain-node.relation-verified{border-color:#8fc8aa;background:#f5fbf7}.trace-chain-node.relation-verified .trace-chain-status{color:#18794e;font-weight:700}.trace-chain-node.relation-pending{border-color:#e7c680;background:#fffaf0}.trace-chain-node.relation-pending .trace-chain-status{color:#9a5d0a;font-weight:700}.trace-chain-node.relation-alert{border-color:#e49a9a;border-left:4px solid #c53b3b;background:#fff7f7}.trace-chain-node.relation-alert .trace-chain-status{color:#b42318;font-weight:700}.trace-chain-node.relation-alert .trace-chain-relation-meta{border-top-color:#f0caca;color:#8f3030}


/* 链路节点的版本快照、核验人员与 AI 人工边界 */
.trace-chain-object-meta{display:block;min-height:28px;padding:6px 7px;border-left:3px solid #9fb4d8;border-radius:5px;background:#f7f9fc;color:#45556f;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.trace-chain-node[data-trace-stage-position="upstream"] .trace-chain-object-meta{border-left-color:#7c9bd1;background:#f3f7ff}.trace-chain-node[data-trace-stage-position="current"] .trace-chain-object-meta{border-left-color:#2f63d8;background:#edf3ff;color:#294b88}.trace-chain-node[data-trace-stage-position="downstream"] .trace-chain-object-meta{border-left-color:#8ebc9e;background:#f3faf5}.trace-chain-node.relation-alert .trace-chain-object-meta{border-left-color:#c53b3b;background:#fff0f0;color:#8f3030}.trace-chain-node.ai-node .trace-chain-object-meta{border-left-color:#8b5cf6;background:#f5f0ff;color:#5b21b6}
.trace-chain-audit-meta{display:block;min-height:30px;padding:6px 7px;border-radius:6px;background:#f6f8fb;color:#5b687e;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.trace-chain-node.relation-verified .trace-chain-audit-meta{background:#eaf7ef;color:#276749}.trace-chain-node.relation-pending .trace-chain-audit-meta{background:#fff3d8;color:#80540b}.trace-chain-node.relation-alert .trace-chain-audit-meta{background:#feecec;color:#8f3030}.trace-chain-node.ai-node .trace-chain-audit-meta{background:#f0eaff;color:#5b21b6}

/* 记录级链路：对象来源、接口数量差异与方向汇总 */
.trace-chain-source-meta{display:block;min-height:16px;color:#5f6f86;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.trace-chain-mismatch-meta{display:block;padding:6px 7px;border:1px solid #f0c36d;border-radius:6px;background:#fff8e6;color:#8a5700;font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.trace-chain-node.object-count-alert{border-color:#e7ad45;background:linear-gradient(180deg,#fffaf0 0,#fff 52%)}
.trace-chain-node.object-count-alert .trace-chain-status{color:#925c00;font-weight:700}
.trace-chain-node.object-count-alert .trace-chain-object-meta{border-left-color:#d99b2b;background:#fff8e8;color:#74500d}
.trace-chain-direction-summary{margin:12px 0 14px;padding:12px;border:1px solid #cbd8ec;border-radius:10px;background:#f8fbff}
.trace-chain-direction-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;color:#24446f}
.trace-chain-direction-title strong{font-size:13px;color:#16345f}
.trace-chain-direction-title span{font-size:10px;line-height:1.5;color:#65758d;text-align:right}
.trace-chain-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trace-chain-direction-card{min-width:0;padding:9px;border:1px solid #d8e2f0;border-radius:8px;background:#fff}
.trace-chain-direction-card>label{display:block;margin-bottom:6px;color:#526987;font-size:10px;font-weight:700}
.trace-chain-direction-card>div{display:grid;gap:6px}
.trace-chain-direction-card span{display:block;min-width:0;padding-left:7px;border-left:3px solid #9cb3d5}
.trace-chain-direction-card strong,.trace-chain-direction-card small{display:block;overflow-wrap:anywhere}
.trace-chain-direction-card strong{color:#263f64;font-size:10px;line-height:1.45}
.trace-chain-direction-card small{margin-top:2px;color:#6f7d91;font-size:9px;line-height:1.4}
.trace-chain-direction-card em{color:#8793a5;font-size:10px;font-style:normal}
.trace-chain-direction-card[data-trace-direction="current"]{border-color:#a8bfeb;background:#f2f6ff}
.trace-chain-direction-card[data-trace-direction="current"] span{border-left-color:#2f63d8}
.trace-chain-direction-card[data-trace-direction="downstream"] span{border-left-color:#76aa89}
@media(max-width:900px){.trace-chain-direction-title{display:block}.trace-chain-direction-title span{display:block;margin-top:4px;text-align:left}.trace-chain-direction-grid{grid-template-columns:1fr}}

/* 记录级安全定位：仅允许当前项目且目标状态明确的对象 */
.trace-record-locator-list{display:grid;gap:6px;padding:7px;border:1px solid #d9e1ec;border-radius:7px;background:#f8fafc}
.trace-record-locator-list>strong{color:#3d516e;font-size:9px}
.trace-record-locator-list>em,.trace-record-locator-list>p{margin:0;color:#728096;font-size:8px;line-height:1.45;font-style:normal}
.trace-record-locator{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;align-items:center;padding:5px 6px;border-radius:6px;background:#fff}
.trace-record-locator>span{min-width:0;color:#40516b;font-size:9px;line-height:1.4;overflow-wrap:anywhere}
.trace-record-locator>small{grid-column:1/-1;color:#6d798b;font-size:8px;line-height:1.4}
.trace-record-locator .btn{padding:3px 7px;font-size:8px;white-space:nowrap}
.trace-record-locator.safe{border:1px solid #a9d3b7;background:#f3fbf6}
.trace-record-locator.safe>small{color:#28724a}
.trace-record-locator.blocked{border:1px solid #e2c28b;background:#fff9ec}
.trace-record-locator.blocked>small{color:#8a5b0a}
.trace-record-locator.blocked .btn{opacity:.68;cursor:not-allowed}
.trace-record-locator[data-trace-record-status="cross-project"],.trace-record-locator[data-trace-record-status="deleted"],.trace-record-locator[data-trace-record-status="missing"]{border-style:dashed}

/* Round 104：AI 候选、会话、轮次、运行记录与来源快照只读追溯 */
.trace-chain-node.ai-blocked{border-color:#d8ad67;background:#fffaf0}
.trace-ai-lineage{display:grid;gap:7px;padding:8px;border:1px solid #cfdcf0;border-radius:8px;background:#f7f9fd}
.trace-ai-lineage[data-trace-ai-blocked="true"]{border-color:#d8ad67;background:#fffaf0}
.trace-ai-lineage-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.trace-ai-lineage-title>strong{color:#273f67;font-size:10px}
.trace-ai-lineage-title>span{padding:2px 6px;border-radius:999px;background:#fff0ca;color:#7b5008;font-size:8px;white-space:nowrap}
.trace-ai-lineage>p,.trace-ai-lineage>em{margin:0;color:#66758b;font-size:8px;line-height:1.5;font-style:normal}
.trace-ai-lineage-grid{display:grid;gap:6px}
.trace-ai-lineage-group{display:grid;gap:5px;padding:6px;border:1px solid #dce4f0;border-radius:7px;background:#fff}
.trace-ai-lineage-group>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.trace-ai-lineage-group>div:first-child>strong{color:#385174;font-size:9px}
.trace-ai-lineage-group>div:first-child>span{display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#edf3fd;color:#315d9e;font-size:8px;font-weight:700}
.trace-ai-lineage-group.empty{background:#fafbfc}
.trace-ai-lineage-group>em{color:#8793a5;font-size:8px;font-style:normal}
.trace-ai-object{display:grid;gap:3px;padding:5px 6px;border-left:3px solid #7899c9;border-radius:5px;background:#f7f9fd}
.trace-ai-object>div{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.trace-ai-object strong{min-width:0;color:#40516b;font-size:8px;line-height:1.4;overflow-wrap:anywhere}
.trace-ai-object span{flex:0 0 auto;padding:1px 5px;border-radius:999px;background:#e8eef8;color:#3b5f91;font-size:7px;white-space:nowrap}
.trace-ai-object small{color:#6d798b;font-size:8px;line-height:1.4}
.trace-ai-object .trace-ai-version{color:#6b5a2b;font-size:8px;font-style:normal;line-height:1.4}
.trace-ai-object .trace-ai-source-open{justify-self:start;margin-top:2px;padding:3px 7px;font-size:8px}
.trace-ai-object .trace-ai-source-blocked{color:#8b5c43;font-size:8px;font-style:normal;line-height:1.4}
.trace-ai-object.version-changed{border-left-color:#d08b27;background:#fff8e8}
.trace-ai-object.version-changed span{background:#ffe7b0;color:#7d4c00}
.trace-ai-object.candidate{border-left-color:#d9951f;background:#fff8e8}
.trace-ai-object.candidate span{background:#ffe8b2;color:#7c4d00}
.trace-ai-object.conflict,.trace-ai-object.missing,.trace-ai-object.deleted,.trace-ai-object.cross-project,.trace-ai-object.project-unverified{border-left-color:#c56b52;background:#fff4f0}
.trace-ai-object.conflict span,.trace-ai-object.missing span,.trace-ai-object.deleted span,.trace-ai-object.cross-project span,.trace-ai-object.project-unverified span{background:#f8ded6;color:#8b3724}
.trace-ai-object.accepted-source{border-left-color:#5c9a73;background:#f2faf5}
.trace-ai-object.accepted-source span{background:#dff2e6;color:#2d7148}



/* Round 109：报告成果人工采纳工作流 */
.report-deliverables-stack{display:grid;gap:18px}
.report-workflow-card{display:grid;gap:18px}
.report-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.report-workflow-head h3{margin:0 0 6px}
.report-workflow-head p{margin:0;color:var(--muted);line-height:1.65}
.report-workflow-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.report-workflow-counts>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8faff;text-align:center}
.report-workflow-counts strong{display:block;color:#244f9e;font-size:22px}
.report-workflow-counts span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.report-workflow-section{display:grid;gap:10px}
.report-workflow-section>h4{margin:0;color:#304563;font-size:14px}
.report-workflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.report-workflow-row>div:first-child{display:grid;gap:5px;min-width:0}
.report-workflow-row strong{overflow-wrap:anywhere}
.report-workflow-row span,.report-workflow-row small{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.report-approval-boundary{display:grid;gap:6px;padding:13px 15px;border:1px solid #e1bd75;border-radius:10px;background:#fff8e8;color:#76500e}
.report-approval-boundary span{line-height:1.6}
.report-artifact{display:grid;gap:13px;margin-top:16px;padding:16px;border:1px solid #dce4f0;border-radius:12px;background:#f9fbff}
.report-artifact-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.report-artifact-title h3{margin:0;font-size:18px}
.report-artifact-block{padding:13px 14px;border:1px solid #e2e7ef;border-radius:9px;background:#fff}
.report-artifact-block h4{margin:0 0 8px;color:#2f4566}
.report-artifact-block p{margin:0;line-height:1.8;white-space:pre-wrap}
.report-artifact-block ul,.report-artifact-block ol{margin:0;padding-left:22px;line-height:1.75}
.report-artifact-block.observation{border-left:4px solid #d49424}
.report-artifact-refs{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.report-artifact-refs span{padding:2px 7px;border-radius:999px;background:#edf3fd;color:#315d9e;font-size:10px;overflow-wrap:anywhere}
.report-artifact-limitations,.report-artifact-followups{padding:13px 14px;border-radius:9px;background:#fff8e8;color:#76500e}
.report-artifact-limitations ul,.report-artifact-followups ul{margin:7px 0 0;padding-left:20px;line-height:1.7}
.report-source-list{display:grid;gap:8px}
.report-source-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);gap:12px;padding:11px 13px;border:1px solid var(--line);border-left-width:4px;border-radius:8px;background:#fff}
.report-source-row>div{display:grid;gap:4px;min-width:0}
.report-source-row span,.report-source-row small{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.report-source-row.is-valid{border-left-color:#50a16f;background:#f5fbf7}
.report-source-row.is-blocked{border-left-color:#d18b2c;background:#fff9ed}
.report-provenance{display:grid;gap:12px;margin-top:16px;padding:14px;border:1px solid #cad9ef;border-radius:10px;background:#f6f9fe}
.report-provenance>p{margin:0;color:var(--muted);line-height:1.6}
.report-provenance-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.report-provenance-grid,.report-provenance-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.report-provenance-grid span,.report-provenance-columns>section{padding:9px 10px;border:1px solid #dce5f2;border-radius:8px;background:#fff;overflow-wrap:anywhere}
.report-provenance-columns>section{display:grid;align-content:start;gap:7px}
.report-provenance-columns h4{margin:0;color:#385174;font-size:12px}
.report-provenance-item{display:grid;gap:3px;padding:7px;border-left:3px solid #7899c9;background:#f7f9fd}
.report-provenance-item strong,.report-provenance-item span{font-size:11px;overflow-wrap:anywhere}
.report-confirmation{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:12px;border:1px solid #d9e2ef;border-radius:9px;background:#f8faff;line-height:1.6;cursor:pointer}
.report-confirmation input{margin-top:4px;flex:0 0 auto}
.report-table-refs td{background:#fafbfe}
@media(max-width:1050px){.report-workflow-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-workflow-head,.report-workflow-row{grid-template-columns:1fr;display:grid}.report-workflow-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.report-source-row,.report-provenance-grid,.report-provenance-columns{grid-template-columns:1fr}.report-workflow-row .actions .btn{flex:1;justify-content:center}}
.report-review-panel{display:grid;gap:10px;margin-top:16px;padding:15px;border:1px solid #d7e1ef;border-radius:11px;background:#fbfcff}
.report-review-panel h4{margin:0 0 5px;color:#304563}
.report-review-panel p{margin:0;color:var(--muted);line-height:1.6}
.report-review-panel .field{display:grid;gap:6px}
.report-review-panel textarea{width:100%;resize:vertical;min-height:78px}
.report-submission-assessment{display:grid;gap:11px;margin-top:16px;padding:15px;border:1px solid;border-radius:11px}
.report-submission-assessment.is-ready{border-color:#9bc9aa;background:#f3fbf6}
.report-submission-assessment.is-blocked{border-color:#e1bd75;background:#fff9ed}
.report-submission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.report-submission-head>div{display:grid;gap:4px}
.report-submission-head span{color:var(--muted);font-size:12px}
.report-submission-metrics{display:flex;gap:8px;flex-wrap:wrap}
.report-submission-metrics span{padding:5px 8px;border:1px solid rgba(90,111,144,.22);border-radius:999px;background:#fff;font-size:11px}
.report-submission-list{display:grid;gap:6px;padding:10px 12px;border-radius:8px;background:#fff}
.report-submission-list ul{margin:0;padding-left:20px;line-height:1.7}
.report-submission-list.blockers{color:#8b3b2f}
.report-submission-list.warnings{color:#76500e}
.report-submission-assessment>p{margin:0;color:var(--muted);line-height:1.6}
@media(max-width:760px){.report-submission-head{display:grid}.report-submission-metrics{display:grid}.report-submission-metrics span{border-radius:8px}}
.report-submission-assessment.is-submitted{border-color:#9bc9aa;background:#f3fbf6}
.report-approval-decision,.report-approval-history{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid #d7e1ef;border-radius:11px;background:#fbfcff}
.report-approval-decision h4,.report-approval-history h4{margin:0 0 5px;color:#304563}
.report-approval-decision p,.report-approval-history>div>p{margin:0;color:var(--muted);line-height:1.6}
.report-approval-decision .field{display:grid;gap:6px}
.report-approval-decision textarea{width:100%;resize:vertical;min-height:92px}
.report-approval-history ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
.report-approval-history li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 15px}
.report-approval-history li:not(:last-child)::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#d7e1ef}
.report-history-dot{position:relative;z-index:1;width:14px;height:14px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:#3974c6;box-shadow:0 0 0 1px #9db9dd}
.report-approval-history li>div{display:grid;gap:4px}
.report-approval-history li span{color:var(--muted);font-size:12px;line-height:1.5}
.report-approval-history li p{margin:4px 0 0;padding:9px 11px;border-radius:8px;background:#fff;color:#304563;line-height:1.65;white-space:pre-wrap}
@media(max-width:760px){.report-approval-decision .actions{display:grid}.report-approval-decision .actions .btn{width:100%;justify-content:center}}

.report-signing-panel,.report-signing-decision,.report-signing-history{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid #cddce9;border-radius:11px;background:#f8fbfe}
.report-signing-panel h4,.report-signing-decision h4,.report-signing-history h4{margin:0 0 5px;color:#274b69}
.report-signing-panel p,.report-signing-decision p,.report-signing-history>div>p{margin:0;color:var(--muted);line-height:1.6}
.report-signing-panel .field,.report-signing-decision .field{display:grid;gap:6px}
.report-signing-panel textarea,.report-signing-decision textarea{width:100%;resize:vertical;min-height:82px}
.report-signing-assessment{display:grid;gap:11px;margin-top:16px;padding:15px;border:1px solid;border-radius:11px}
.report-signing-assessment.is-ready{border-color:#8fc4a2;background:#f1faf4}
.report-signing-assessment.is-blocked{border-color:#dfb66a;background:#fff8e9}
.report-signing-assessment>p{margin:0;color:var(--muted);line-height:1.6}
.report-signing-history ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
.report-signing-history li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 15px}
.report-signing-history li:not(:last-child)::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#cddce9}
.report-signing-history li>div{display:grid;gap:4px}
.report-signing-history li span,.report-signing-history li small{color:var(--muted);font-size:12px;line-height:1.5}
.report-signing-history li p{margin:4px 0 0;padding:9px 11px;border-radius:8px;background:#fff;color:#274b69;line-height:1.65;white-space:pre-wrap}
@media(max-width:760px){.report-signing-decision .actions,.report-signing-panel .actions{display:grid}.report-signing-decision .actions .btn,.report-signing-panel .actions .btn{width:100%;justify-content:center}}

/* 规划113：已签发报告人工归档准备与归档门禁 */
.report-archive-panel,.report-archive-decision,.report-archive-history{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid #d9d0bb;border-radius:11px;background:#fffdf7}
.report-archive-panel h4,.report-archive-decision h4,.report-archive-history h4{margin:0 0 5px;color:#65512e}
.report-archive-panel p,.report-archive-decision p,.report-archive-history>div>p{margin:0;color:var(--muted);line-height:1.6}
.report-archive-panel .field,.report-archive-decision .field{display:grid;gap:6px}
.report-archive-panel textarea,.report-archive-decision textarea{width:100%;resize:vertical;min-height:82px}
.report-archive-assessment{display:grid;gap:11px;margin-top:16px;padding:15px;border:1px solid;border-radius:11px}
.report-archive-assessment.is-ready{border-color:#91b59c;background:#f4faf5}
.report-archive-assessment.is-blocked{border-color:#ddb66b;background:#fff9ed}
.report-archive-assessment>p{margin:0;color:var(--muted);line-height:1.6}
.report-archive-history ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
.report-archive-history li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 15px}
.report-archive-history li:not(:last-child)::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#d9d0bb}
.report-archive-history li>div{display:grid;gap:4px}
.report-archive-history li span,.report-archive-history li small{color:var(--muted);font-size:12px;line-height:1.5}
.report-archive-history li p{margin:4px 0 0;padding:9px 11px;border-radius:8px;background:#fff;color:#65512e;line-height:1.65;white-space:pre-wrap}
@media(max-width:760px){.report-archive-decision .actions,.report-archive-panel .actions{display:grid}.report-archive-decision .actions .btn,.report-archive-panel .actions .btn{width:100%;justify-content:center}}

/* 规划114：项目级归档准备与最终人工归档门禁 */
.project-archive-assessment,.project-archive-panel,.project-archive-decision,.project-archive-history{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid #d5deea;border-radius:12px;background:#f8fbfe}
.project-archive-assessment.is-ready{border-color:#91b89d;background:#f3faf5}.project-archive-assessment.is-blocked{border-color:#ddb66b;background:#fff9ed}
.project-archive-assessment h3,.project-archive-assessment h4,.project-archive-panel h4,.project-archive-decision h4,.project-archive-history h4{margin:0;color:#294b67}
.project-archive-assessment p,.project-archive-panel p,.project-archive-decision p{margin:0;line-height:1.65;color:var(--muted)}
.project-archive-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-archive-summary>div{display:grid;gap:5px;padding:11px 12px;border:1px solid #dce5ee;border-radius:9px;background:#fff}.project-archive-summary span{font-size:12px;color:var(--muted)}.project-archive-summary strong{color:#244865}
.project-archive-blockers{margin-top:4px}.project-archive-panel fieldset{display:grid;gap:9px;margin:0;padding:0;border:0}.project-archive-check,.project-archive-confirm{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #dce5ee;border-radius:9px;background:#fff;line-height:1.55}.project-archive-check input,.project-archive-confirm input{margin-top:4px;flex:0 0 auto}
.project-archive-panel .field,.project-archive-decision .field{display:grid;gap:6px}.project-archive-panel textarea,.project-archive-decision textarea{width:100%;resize:vertical;min-height:88px}
.project-archive-readonly-checklist{display:grid;gap:8px}.project-archive-history ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.project-archive-history li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 15px}.project-archive-history li:not(:last-child)::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#cad8e5}.project-archive-history li>i{width:14px;height:14px;margin-top:3px;border:3px solid #5f8cab;border-radius:50%;background:#fff}.project-archive-history li>div{display:grid;gap:4px}.project-archive-history li span{font-size:12px;color:var(--muted)}.project-archive-history li p{margin:4px 0 0;padding:9px 11px;border-radius:8px;background:#fff;color:#294b67;white-space:pre-wrap}
@media(max-width:760px){.project-archive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-archive-panel .actions,.project-archive-decision .actions{display:grid}.project-archive-panel .actions .btn,.project-archive-decision .actions .btn{width:100%;justify-content:center}}

/* 规划115：只读归档成果包 */
.project-archive-package{display:grid;gap:14px;margin-top:18px;padding:20px;border:1px solid #b9cfdf;border-radius:12px;background:#f8fbfe}.project-archive-package h3,.project-archive-package h4,.project-archive-package p{margin:0}.project-archive-package>p{color:var(--muted);line-height:1.7}.project-package-directory,.project-package-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}.project-package-directory li{display:grid;gap:5px;padding:12px;border:1px solid #dce5ee;border-radius:8px;background:white}.project-package-directory span{font-size:12px;color:var(--muted)}.project-package-checklist li{display:flex;align-items:flex-start;gap:9px;padding:10px;line-height:1.6}.project-package-checklist li>span{flex-shrink:0;font-size:12px;border-radius:5px;padding:1px 6px;background:#e2f3e7;color:#28633b}.project-package-checklist .is-pending>span{background:#fff0cc;color:#805600}.project-package-digest{display:block;overflow-wrap:anywhere;padding:12px;margin:8px 0;background:#edf3f8}.project-archive-package .actions{flex-wrap:wrap}.project-archive-package summary{cursor:pointer}@media(max-width:760px){.project-package-directory,.project-package-checklist{grid-template-columns:1fr}.project-archive-package{padding:14px}.project-archive-package .actions{display:grid}.project-archive-package .btn{justify-content:center}}

/* Read-only archive trace, scoped to the metadata viewer. */
.archive-trace-inventory,.archive-trace-relations{list-style:none;padding:0;min-width:0}.archive-trace-inventory li{margin-top:8px}.archive-trace-inventory .btn{white-space:normal;text-align:left;overflow-wrap:anywhere}.archive-trace-relation{padding:12px;margin:8px 0;border:1px solid #d6e1ed;border-radius:8px;overflow-wrap:anywhere}.archive-trace-relation p{margin:6px 0}

.archive-trace-summary{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.archive-trace-summary .actions{flex-wrap:wrap}.archive-trace-summary select{max-width:100%;padding:7px;border:1px solid var(--line);border-radius:6px}.archive-trace-summary .btn{white-space:normal;overflow-wrap:anywhere}

.archive-trace-review-guide{margin:8px 0;padding:8px 10px;border:1px solid #dce5ee;border-radius:7px;background:#f8fbfe}.archive-trace-review-guide summary{cursor:pointer;font-weight:600}.archive-trace-review-guide ol{margin:8px 0 8px 22px;padding:0}.archive-trace-review-guide p{line-height:1.6}.archive-trace-relation .archive-trace-review-guide{background:#fff}


/* Project execution cockpit: read-only stage visibility and next-action routing. */
.project-progress-source-note{margin:8px 0 0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.5}.project-execution-summary{margin:0 0 18px;border:1px solid #dbe5f0;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#f6f9fc 100%);padding:18px}
.project-execution-overall{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}
.project-execution-overall strong{font-size:16px;color:#24364b}.project-execution-overall p{margin:6px 0 0;color:#65758a;font-size:13px;line-height:1.6}
.project-execution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.project-execution-evidence-summary{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid #ead9aa;border-radius:10px;background:#fffaf0;color:#6d5b2d;font-size:12px;line-height:1.6}.project-execution-evidence-summary strong{flex:0 0 auto;color:#8a6b18}.project-execution-evidence-warning{color:#a26020;font-weight:600}.project-execution-evidence-note{color:#3b7a5a}
.project-execution-evidence-findings{margin:0 0 14px;padding:10px 12px;border:1px solid #f0c6a1;border-radius:10px;background:#fff7f0;color:#75451f;font-size:12px;line-height:1.6}.project-execution-evidence-findings strong{display:block;color:#9a5424}.project-execution-evidence-findings ul{margin:6px 0 0;padding-left:18px}.project-execution-evidence-findings span{display:block;margin-top:5px}
.project-execution-card{min-width:0;padding:14px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}.project-execution-card.is-blocked{border-color:#f0b7b7;background:#fffafa}
.project-execution-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-execution-index{font-size:11px;color:#8a9aab;text-transform:uppercase;letter-spacing:.08em}
.project-execution-card h4{margin:10px 0 6px;color:#24364b}.project-execution-card p{min-height:40px;margin:0;color:#65758a;font-size:12px;line-height:1.6}.project-execution-progress{height:6px;margin:12px 0 8px;border-radius:999px;background:#edf1f5;overflow:hidden}.project-execution-progress span{display:block;height:100%;border-radius:inherit;background:#4e82c4}.project-execution-card.is-blocked .project-execution-progress span{background:#d45d5d}
.project-execution-meta{display:flex;justify-content:space-between;gap:8px;color:#748397;font-size:12px}.project-execution-meta strong{color:#b04b4b;font-weight:600}.project-execution-open{margin-top:10px;padding:0;color:#2d6fb7;font-size:12px}.project-execution-boundary{margin:14px 0 0;line-height:1.6}
@media (max-width:900px){.project-execution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.project-execution-grid{grid-template-columns:1fr}.project-execution-overall{display:block}.project-execution-overall .badge{display:inline-flex;margin-top:10px}}
@media (max-width:560px){.project-execution-evidence-summary{display:block}.project-execution-evidence-summary strong{display:block;margin-bottom:3px}}
/* Round 129: 资料 / 证据中心（只读摘要 + 人工核验入口，不持久化核验状态） */
.materials-evidence-center,.materials-evidence-project-panel{margin:0 0 18px;border:1px solid #dfe6f2;background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%)}
.materials-evidence-center .section-title,.materials-evidence-project-panel .section-title{align-items:flex-start}
.materials-evidence-center .section-title h2,.materials-evidence-project-panel .section-title h3{margin:0 0 5px}
.materials-evidence-center .section-title p,.materials-evidence-project-panel .section-title p{margin:0;color:var(--muted);line-height:1.6}
.materials-evidence-scope{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;padding:10px 12px;border:1px solid #d8e2f5;border-radius:9px;background:#fff;color:#33415c;line-height:1.5}
.materials-evidence-scope .small-note{margin-left:auto;color:#7c4a03}
.materials-evidence-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.materials-evidence-metrics article{min-width:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(34,48,80,.04)}
.materials-evidence-metrics article>span,.materials-evidence-mini-grid span{display:block;color:#5d6a82;font-size:12px}
.materials-evidence-metrics article strong{display:block;margin:6px 0 4px;color:#1f3154;font-size:22px;line-height:1.2}
.materials-evidence-metrics article em{display:block;color:var(--muted);font-size:11px;font-style:normal;line-height:1.5}
.materials-evidence-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.materials-evidence-guidance span{padding:9px 10px;border-left:3px solid #9db8ff;background:#fff;color:#596982;font-size:12px;line-height:1.55}
.materials-evidence-guidance b{color:#334c7a}
.materials-evidence-project-panel{padding:18px;border-radius:12px}
.materials-evidence-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.materials-evidence-mini-grid>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.materials-evidence-mini-grid strong{display:block;margin-top:6px;color:#1f3154;font-size:17px;line-height:1.35}
.materials-review-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#fff6e6;color:#7c4a03;font-size:12px;white-space:nowrap}
.materials-review-badge.pending{border:1px solid #f1cf91}
.materials-review-boundary{border-left:4px solid #c27a12;background:#fffaf0;color:#704b14}
.materials-review-checklist{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}
.materials-review-checklist h3{margin:0 0 10px;font-size:14px;color:#33415c}
.materials-review-check{display:flex;align-items:flex-start;gap:8px;margin:9px 0;color:#42516b;line-height:1.5;cursor:pointer}
.materials-review-check input{margin-top:3px;accent-color:var(--primary)}
.materials-review-files{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.materials-review-files ul{margin:9px 0 0;padding-left:20px;color:#596982;line-height:1.65}
.materials-review-files li{overflow-wrap:anywhere}
@media(max-width:900px){.materials-evidence-guidance{grid-template-columns:1fr}.materials-evidence-scope .small-note{margin-left:0;width:100%}}
@media(max-width:700px){.materials-evidence-metrics,.materials-evidence-mini-grid{grid-template-columns:1fr}.materials-evidence-center,.materials-evidence-project-panel{padding:14px}.materials-evidence-scope{align-items:flex-start;flex-direction:column}.materials-evidence-scope .small-note{width:auto}}

.materials-evidence-partial{padding:10px 12px;border-left:3px solid var(--warn);background:var(--warn-bg);color:#704b14;line-height:1.6}
.materials-evidence-center .section-title,.materials-evidence-project-panel .section-title{flex-wrap:wrap}
.materials-evidence-metrics article,.materials-evidence-mini-grid>div{overflow-wrap:anywhere}
.project-scope-banner{margin:0 0 18px;padding:14px 16px;border:1px solid #cddcf0;border-radius:12px;background:linear-gradient(135deg,#f6faff 0%,#fff 72%);box-shadow:0 4px 16px rgba(34,48,80,.04)}
.project-scope-banner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-scope-banner-head strong{display:block;color:#24558f;font-size:13px}.project-scope-banner-head span{display:block;margin-top:4px;color:#263b57;font-weight:600}.project-scope-banner-tab{flex:0 0 auto!important;margin-top:0!important;color:#536a85!important;font-size:12px;font-weight:400!important}.project-scope-banner-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:#61738b;font-size:12px}.project-scope-banner-meta span{position:relative}.project-scope-banner-meta span+span:before{content:'·';position:absolute;left:-11px;color:#a7b4c4}.project-scope-banner p{margin:10px 0 0;color:#63748b;font-size:12px;line-height:1.6}
@media(max-width:560px){.project-scope-banner-head{display:block}.project-scope-banner-tab{margin-top:8px!important}.project-scope-banner-meta{display:grid;grid-template-columns:1fr;gap:4px}.project-scope-banner-meta span+span:before{display:none}}
.project-rectify-evidence-warning,.project-rectify-evidence-pending,.project-rectify-evidence-note{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;}
/* Project detail stage navigation and read-only cross-module linkage guidance. */
.project-stage-navigation,.project-procedure-material-panel,.project-workpaper-review-panel{margin:0 0 16px;padding:16px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}.project-stage-navigation .project-domain-trace-head,.project-procedure-material-panel .project-domain-trace-head,.project-workpaper-review-panel .project-domain-trace-head{margin-bottom:12px}.project-stage-nav-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.project-stage-nav-item{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px;border:1px solid #dce5ee;border-radius:9px;background:#fff;color:#24364b;text-align:left;cursor:pointer}.project-stage-nav-item:hover,.project-stage-nav-item:focus-visible{border-color:#6d9bc9;box-shadow:0 0 0 2px rgba(74,126,184,.14);outline:none}.project-stage-nav-item.is-active{border-color:#3d78b8;background:#eef6ff}.project-stage-nav-item.is-pending{border-left:3px solid #d97706}.project-stage-nav-item.is-ready{border-left:3px solid #2f9b68}.project-stage-nav-item.is-empty{border-left:3px solid #9aa8b8}.project-stage-nav-index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e9eef5;color:#52617a;font-size:11px;font-weight:700}.project-stage-nav-item strong,.project-stage-nav-item small{display:block}.project-stage-nav-item strong{font-size:12px;line-height:1.4}.project-stage-nav-item small{margin-top:3px;color:#64748b;font-size:11px;line-height:1.4}.project-procedure-material-grid,.project-workpaper-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-procedure-material-grid>div,.project-workpaper-review-grid>div{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid #e1e8f0;border-radius:9px;background:#fff}.project-procedure-material-grid span,.project-workpaper-review-grid span{color:#64748b;font-size:11px;line-height:1.4}.project-procedure-material-grid strong,.project-workpaper-review-grid strong{color:#24364b;font-size:16px}.project-procedure-material-warning,.project-workpaper-review-warning{margin:10px 0 0;padding:9px 10px;border-left:3px solid #d97706;border-radius:7px;background:#fff8eb;color:#7c4a03;font-size:12px;line-height:1.55}.project-relation-version-change{display:grid;gap:4px;margin-top:8px;padding:8px 10px;border-left:3px solid #d97706;border-radius:7px;background:#fff8eb;color:#7c4a03;font-size:11px;line-height:1.55}.project-relation-version-change strong{font-size:11px}.project-relation-version-change span{overflow-wrap:anywhere}.project-workpaper-review-notes{display:grid;gap:6px;margin-top:10px}.project-workpaper-review-note{color:#176b42;font-size:12px;line-height:1.55}.project-stage-navigation+.card{margin-top:16px!important}
@media(max-width:900px){.project-stage-nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-procedure-material-grid,.project-workpaper-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.project-stage-nav-list,.project-procedure-material-grid,.project-workpaper-review-grid{grid-template-columns:1fr}.project-stage-nav-item{width:100%}}

.project-rectify-evidence-warning{color:#b42318;}
.project-rectify-evidence-pending{color:#b54708;}
.project-rectify-evidence-note{color:#027a48;}

/* Read-only execution record locators. */
.project-execution-next{margin-top:8px}
.project-execution-finding{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
.project-execution-finding>span{min-width:0;overflow-wrap:anywhere}
.project-execution-record{flex-shrink:0}
@media(max-width:560px){.project-execution-finding{align-items:flex-start;flex-direction:column}.project-execution-record,.project-execution-next{width:100%;justify-content:center}}

.verification-row{display:flex;gap:8px;align-items:center}.verification-row input{min-width:0;flex:1}.verification-row button{flex-shrink:0;white-space:nowrap}#register-code-status{font-size:12px;color:#52657d;overflow-wrap:anywhere}

/* Personal center: vertical entry list and focused detail pages. */
.profile-page{display:grid;gap:20px;max-width:960px}
.profile-menu{display:flex;flex-direction:column;overflow:hidden;margin-bottom:20px}
.profile-menu-item{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 24px;background:#fff;border:0;border-bottom:1px solid #e8edf4;text-align:left;font:inherit;color:#24344a;cursor:pointer}
.profile-menu-item:last-child{border-bottom:0}
.profile-menu-item:hover{background:#f5f8ff}
.profile-menu-item:focus-visible{outline:2px solid #365dd8;outline-offset:-3px}
.profile-menu-item:disabled{cursor:not-allowed;opacity:.6}
.profile-menu-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.profile-menu-copy strong{font-size:15px}
.profile-menu-copy>span{font-size:13px;color:#68768a;line-height:1.6}
.profile-menu-arrow{font-size:26px;color:#8490a3}
.profile-menu-danger strong{color:#bf3c45}
.profile-account-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.profile-account-summary strong{overflow-wrap:anywhere}
.profile-detail-grid{grid-template-columns:minmax(0,1fr);max-width:960px}
.profile-detail-grid [hidden]{display:none!important}
.profile-back{margin-bottom:16px}
.profile-logout-card{max-width:960px}
@media(max-width:500px){.profile-account-summary{grid-template-columns:minmax(0,1fr)!important}.profile-menu-item{padding:18px}.profile-detail-grid .form-grid{grid-template-columns:minmax(0,1fr)}}

/* audit-workbench-nav-focus-20261028 */
.nav-group.current>.nav-group-toggle{background:#cedcf1;color:#244a86;box-shadow:inset 4px 0 0 #2f63d8; font-weight:700}
.nav-item.active{background:#2f63d8;color:#fff;border-left:4px solid #a9c4ff;padding-left:8px;box-shadow:inset 0 0 0 1px rgba(47,99,216,.2),0 4px 10px rgba(47,99,216,.16);font-weight:700}
.nav-item.nav-child.active{padding-left:6px}
.nav-item.active .nav-icon{color:#fff;opacity:1}
.nav-item.active::after{content:none}
.nav-group.current>.nav-group-toggle .nav-chevron{color:#2f63d8}
.nav-group.current>.nav-group-panel{border-left:2px solid #82a5e6}
.nav-current-label,.nav-group-current-label{margin-left:auto;color:#244a86;font-size:11px;font-weight:600;white-space:nowrap}
.nav-context{margin:0 0 12px;padding:10px 12px;border:1px solid #c7d8f0;border-left:4px solid #2f63d8;border-radius:8px;background:#e3edfc;color:#243650;box-shadow:none}
.nav-context-kicker{display:block;color:#30588b;font-size:11px;letter-spacing:.5px;margin-bottom:3px}
.nav-context strong{display:block;font-size:13px}
.nav-context small{display:block;color:#526984;font-size:11px;margin-top:3px}
@media (max-width:760px){.nav-item.active::after{content:none}.nav-context{margin-left:2px;margin-right:2px}}

/* 工程审计项目指标：浅色卡片使用深色高对比字体，避免继承 hero-card 的白色文字 */
.hero-card .kpi span{color:#52617a;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;font-weight:600}
.hero-card .kpi strong{color:#1f3154;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;font-weight:700;letter-spacing:.15px}
/* Material remarks and workbook selection */
.material-remark-attachments{margin-top:10px;padding:14px;border:1px solid #d6dfeb;border-radius:10px;background:#f8fafc}
.material-attachment-list{display:grid;gap:10px;margin-top:10px}
.material-attachment{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;min-width:0}
.material-attachment img{width:68px;height:68px;object-fit:cover;border-radius:6px;border:1px solid #d9e2ec}
.material-attachment>div{min-width:0;flex:1;display:grid;gap:4px}.material-attachment strong{overflow-wrap:anywhere}.material-attachment-icon{font-size:30px;color:#315a86}.material-attachment a{color:#1b5794;text-decoration:underline}
.excel-sheet-dialog{border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 20px 80px #14243d44;padding:24px;width:min(540px,90vw);color:#1e293b}.excel-sheet-dialog::backdrop{background:#14243d66}.excel-sheet-dialog select{display:block;width:100%;margin:10px 0;padding:10px;border:1px solid #cbd5e1;border-radius:6px}.excel-sheet-dialog h2{font-size:20px}

.attachment-content-dialog{width:min(900px,92vw);max-height:88vh;padding:0;border:1px solid #cbd5e1;border-radius:14px;color:#17243b;box-shadow:0 24px 80px #13223a40;background:#fff}
.attachment-content-dialog::backdrop{background:#13223a88}
.attachment-content-dialog .modal-body{max-height:70vh;overflow:auto;padding:20px}
.attachment-content-dialog textarea{box-sizing:border-box;width:100%;resize:vertical;font:15px/1.75 "Microsoft YaHei","Segoe UI",sans-serif;color:#17243b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:14px}

/* sidebar-light-palette-20261103: sidebar only; keep login and AI styling unchanged. */
.sidebar .brand{border-bottom-color:#c6d5e8}
.sidebar .brand small{color:#526680}
.sidebar .brand-mark{color:#fff}
.sidebar .online-dot{background:#21885b}
.nav-item.active .nav-current-label{color:#fff}
