:root{color-scheme:light;--ink: oklch(24% .03 70);--muted: oklch(49% .025 70);--paper: oklch(96% .016 82);--surface: oklch(99% .006 82);--line: oklch(84% .019 78);--accent: oklch(46% .12 172);--accent-dark: oklch(33% .09 172);--bad: oklch(50% .18 28);--bad-soft: oklch(94% .035 28);--good: oklch(46% .12 145);--good-soft: oklch(94% .04 145);--amber: oklch(72% .12 82);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);background:linear-gradient(90deg,color-mix(in oklch,var(--paper),var(--amber) 10%),transparent 44%),var(--paper);overflow:hidden}button{font:inherit}.app-shell{height:100vh;height:100dvh;padding:var(--space-md) var(--space-lg) 4px;display:flex;flex-direction:column;gap:var(--space-sm);overflow:hidden}.topbar,.workspace-grid,.summary-strip,.validation-layout,.detail-head,.top-actions,.source-actions,.section-head,.project-stats,.filter-tabs{display:flex;gap:var(--space-md)}.topbar{align-items:center;justify-content:space-between;min-height:34px}.top-actions{align-items:center}.eyebrow{margin:0 0 var(--space-xs);color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:2rem;line-height:1.1}.step-indicator{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.step-indicator span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklch,var(--surface),var(--paper) 18%);color:var(--muted);font-size:.78rem;font-weight:800}.step-indicator span.active{border-color:color-mix(in oklch,var(--accent),var(--line) 45%);background:color-mix(in oklch,var(--accent),var(--surface) 88%);color:var(--accent-dark)}h2{font-size:1.08rem;line-height:1.25}.primary-action,.secondary-action,.sidebar-action,.picker,.icon-action,.filter-tabs button,.project-item{border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.primary-action{min-width:140px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border-color:var(--accent-dark);background:var(--accent-dark);color:#f5faf8;font-weight:700}.primary-action:disabled{cursor:wait;opacity:.74}.secondary-action:disabled{cursor:wait;opacity:.62}.secondary-action,.icon-action,.picker{background:var(--surface);color:var(--ink)}.secondary-action{display:inline-flex;align-items:center;gap:var(--space-sm);padding:9px 12px;font-weight:700}.compact-action{padding:9px 10px}.danger-action{border-color:color-mix(in oklch,var(--bad),var(--line) 58%);color:var(--bad)}.danger-action:hover{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.sidebar-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--ink);color:var(--surface);font-weight:800}.sidebar-action:disabled{cursor:wait;opacity:.62}.icon-action{width:39px;height:39px;display:grid;place-items:center}.primary-action:hover,.secondary-action:hover,.picker:hover,.icon-action:hover,.project-item:hover,.filter-tabs button:hover{transform:translateY(-1px);border-color:var(--accent)}.workspace-grid{flex:1;align-items:stretch;min-height:0;overflow:hidden}.app-footer{color:var(--muted);font-size:.68rem;line-height:1;opacity:.72;text-align:center}.file-step-grid{align-items:flex-start;justify-content:center;overflow:auto;padding-bottom:var(--space-lg)}.setup-panel,.result-panel,.detail-panel{border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--surface),var(--paper) 18%)}.setup-panel{width:330px;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);max-height:100%;overflow:auto}.setup-panel-wide{width:min(760px,100%)}.setup-panel-wide .file-list{max-height:320px}.section-head{align-items:center}.section-head.compact{margin-top:var(--space-sm)}.picker-group{display:grid;gap:var(--space-sm)}.source-actions-end{justify-content:flex-end}.field-label{color:var(--muted);font-size:.82rem;font-weight:700}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.field-label-row strong{color:var(--accent-dark);font-size:.82rem}.picker{min-height:44px;padding:0 12px;display:flex;align-items:center;gap:var(--space-sm);text-align:left}.picker span,.file-row span,.project-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list{min-height:88px;max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:var(--space-sm);padding-right:2px}.file-row{min-height:34px;padding:0 var(--space-sm);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in oklch,var(--line),transparent 22%);border-radius:6px;background:#fbf8f3}.file-remove{width:26px;height:26px;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.file-remove:hover{border-color:color-mix(in oklch,var(--bad),var(--line) 65%);background:var(--bad-soft);color:var(--bad)}.empty-text,.muted{color:var(--muted)}.template-facts{display:grid;grid-template-columns:1fr auto;gap:var(--space-sm) var(--space-md);color:var(--muted);font-size:.88rem}.template-facts strong{color:var(--ink);text-align:right}.error-banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in oklch,var(--bad),var(--line) 62%);border-radius:8px;background:var(--bad-soft);color:var(--bad)}.toggle-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-sm);align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-control{position:relative;width:34px;height:20px;border:1px solid var(--line);border-radius:999px;background:#e5e1d9;transition:background .14s ease,border-color .14s ease}.toggle-control:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px color-mix(in oklch,var(--ink),transparent 72%);transition:transform .14s ease}.toggle-row input:checked+.toggle-control{border-color:var(--accent-dark);background:var(--accent)}.toggle-row input:checked+.toggle-control:after{transform:translate(14px)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:.86rem}.toggle-row small{margin-top:1px;color:var(--muted);font-size:.74rem;line-height:1.25}.merge-result{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:var(--space-lg);align-items:center;padding:var(--space-md) var(--space-lg);border:1px solid color-mix(in oklch,var(--good),var(--line) 62%);border-radius:8px;background:var(--good-soft)}.merge-result strong{display:block;color:var(--good)}.merge-result span{min-width:0;overflow:hidden;color:color-mix(in oklch,var(--ink),var(--good) 18%);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.result-panel{flex:1;min-width:0;min-height:0;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);overflow:hidden}.summary-strip{flex-wrap:wrap}.result-toolbar{display:flex;gap:var(--space-md);align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.result-toolbar .summary-strip{flex:1;min-width:0}.result-content{min-width:0;min-height:0;padding-left:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-lg);overflow:auto}.result-content .detail-panel{flex:0 0 auto;overflow:visible}.feature-panel{overflow:auto}.feature-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);padding:var(--space-xl) 0 var(--space-md)}.feature-head span{color:var(--muted);font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md)}.feature-card{min-height:178px;padding:var(--space-xl);display:grid;grid-template-rows:auto 1fr;gap:var(--space-lg);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.feature-card:hover,.feature-card.primary-feature{border-color:color-mix(in oklch,var(--accent),var(--line) 42%);background:color-mix(in oklch,var(--accent),var(--surface) 94%)}.feature-card svg{color:var(--accent-dark)}.feature-card strong{display:block;font-size:1.08rem}.feature-card span{display:block;margin-top:var(--space-sm);color:var(--muted);line-height:1.45}.download-layout{min-height:0;display:flex;flex-direction:column;gap:var(--space-lg);overflow:auto}.download-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.download-head>strong{padding:6px 10px;border-radius:999px;background:var(--good-soft);color:var(--good);font-size:.86rem}.download-error{flex:0 0 auto}.download-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.single-file-grid,.project-list-notice{grid-template-columns:minmax(0,1fr)}.project-maintenance-layout{min-height:0;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);gap:var(--space-lg)}.project-maintenance-editor,.project-maintenance-list{overflow:hidden}.project-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm)}.project-input-row input,.project-bulk-box textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.project-input-row input{min-height:40px;padding:0 var(--space-md)}.project-bulk-box{display:grid;gap:var(--space-sm)}.project-bulk-box textarea{min-height:160px;padding:var(--space-md);resize:vertical;line-height:1.45}.project-name-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.project-name-row{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm) 0 var(--space-md);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.project-name-row span{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.generated-file-card{min-width:0;padding:var(--space-sm) var(--space-md);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.generated-file-card>div:first-child{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center}.generated-file-card strong,.generated-file-card span,.generated-file-card small{display:block}.generated-file-card span{overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.generated-file-card small{margin-top:2px;color:color-mix(in oklch,var(--ink),var(--muted) 45%);font-size:.74rem}.generated-file-card .source-actions{gap:var(--space-xs)}.generated-file-card .secondary-action{padding:7px 9px;font-size:.82rem}.merge-data-panel{flex:1}.department-analysis-panel{flex:1.1}.department-analysis-panel .detail-head{gap:var(--space-md)}.department-analysis-panel .source-actions{flex-wrap:wrap;justify-content:flex-end}.result-panel:has(>.download-layout>.merge-data-panel){overflow:auto}.download-layout:has(>.merge-data-panel){overflow:visible}.download-layout:has(>.merge-data-panel)>.detail-panel{flex:0 0 auto;overflow:visible}.download-layout:has(>.merge-data-panel) .sheet-table-wrap{flex:0 0 auto;min-height:0;max-height:460px;overflow:auto}.download-layout:has(>.merge-data-panel) .transfer-table-wrap{max-height:320px}.department-analysis-empty{min-height:180px;display:flex;align-items:center;justify-content:center;gap:var(--space-md);border:1px dashed color-mix(in oklch,var(--accent),var(--line) 68%);border-radius:8px;background:color-mix(in oklch,var(--accent),var(--surface) 96%);color:var(--accent-dark)}.department-analysis-empty div{display:grid;gap:2px}.department-analysis-empty span{color:var(--muted);font-size:.84rem}.coverage-layout{overflow:auto}.coverage-layout>.detail-panel{flex:0 0 auto;overflow:visible}.coverage-layout .sheet-table-wrap{flex:0 0 auto;min-height:0;overflow:auto}.coverage-layout .sheet-table-wrap.coverage-table-wrap{min-height:500px;max-height:min(70vh,720px)}.coverage-layout .missing-project-list{max-height:none;overflow:visible}.missing-project-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px var(--space-sm);max-height:480px;overflow:auto}.missing-project-row{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:var(--space-sm);padding:8px var(--space-md);border:1px solid color-mix(in oklch,var(--bad),var(--line) 60%);border-radius:8px;background:color-mix(in oklch,var(--bad),var(--surface) 94%);color:var(--bad);font-size:.9rem;line-height:1.4}.missing-project-index{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 8px;border-radius:999px;background:color-mix(in oklch,var(--bad),var(--surface) 80%);color:var(--bad);font-weight:800;font-size:.78rem}.missing-project-name{min-width:0;font-weight:700;word-break:break-all;white-space:normal;color:var(--ink)}.transfer-sheet-section{display:flex;flex-direction:column;gap:var(--space-md)}.transfer-sheet-card{display:flex;flex-direction:column;gap:var(--space-sm)}.transfer-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.transfer-sheet-head strong{font-size:.96rem}.transfer-sheet-head span{padding:4px 8px;border-radius:999px;background:color-mix(in oklch,var(--accent),var(--surface) 90%);color:var(--accent-dark);font-size:.78rem;font-weight:800}.transfer-table-wrap{max-height:320px;flex:0 0 auto}.transfer-table{width:max-content;min-width:100%}.transfer-table th,.transfer-table td{min-width:120px;white-space:nowrap}.comparison-summary .metric{min-width:128px}.comparison-layout{min-height:460px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-lg)}.comparison-rail{min-height:0;padding-right:var(--space-md);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-md)}.comparison-sheet-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.comparison-sheet-item{min-height:64px;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px var(--space-sm);align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.comparison-sheet-item.active{border-color:var(--accent);background:color-mix(in oklch,var(--accent),var(--surface) 91%)}.comparison-sheet-item span{min-width:0;overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.comparison-sheet-item b{color:var(--bad)}.comparison-sheet-item small{grid-column:1 / -1;color:var(--muted);font-weight:700}.comparison-detail{padding:0;overflow:hidden}.comparison-table th:nth-child(1),.comparison-table td:nth-child(1){width:86px}.comparison-table th:nth-child(5),.comparison-table td:nth-child(5),.comparison-table th:nth-child(6),.comparison-table td:nth-child(6){min-width:260px}.comparison-table tr.change-added td{background:color-mix(in oklch,var(--good-soft),transparent 68%)}.comparison-table tr.change-removed td{background:color-mix(in oklch,var(--bad-soft),transparent 58%)}.comparison-table tr.change-modified td{background:color-mix(in oklch,oklch(95% .045 82),transparent 60%)}.change-pill{display:inline-flex;min-width:44px;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.change-pill.added{background:var(--good-soft);color:var(--good)}.change-pill.removed{background:var(--bad-soft);color:var(--bad)}.change-pill.modified{background:#fee8c2;color:#6f4f00;color:oklch(45% .11 82)}.changed-field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:240px}.changed-field-item{display:grid;grid-template-columns:minmax(72px,auto) 1fr;align-items:center;gap:8px;padding:4px 8px;background:color-mix(in oklch,oklch(95% .045 82),transparent 35%);border:1px solid color-mix(in oklch,oklch(75% .09 82),transparent 55%);border-radius:6px;font-size:.82rem;line-height:1.4}.changed-field-name{font-weight:700;color:#4d3603;white-space:nowrap}.changed-field-values{display:flex;flex-wrap:wrap;align-items:center;gap:6px;word-break:break-all}.changed-field-old{display:inline-block;max-width:220px;padding:1px 6px;border-radius:4px;background:var(--bad-soft);color:var(--bad);text-decoration:line-through;text-decoration-color:color-mix(in oklch,var(--bad),transparent 30%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changed-field-new{display:inline-block;max-width:220px;padding:1px 6px;border-radius:4px;background:var(--good-soft);color:var(--good);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changed-field-arrow{color:var(--muted);font-weight:700}.merge-data-table{width:max-content;min-width:100%}.merge-data-table th,.merge-data-table td{white-space:nowrap}.merge-data-table th:nth-child(2),.merge-data-table td:nth-child(2){min-width:96px}.merge-data-table th:nth-child(n+3),.merge-data-table td:nth-child(n+3){min-width:168px}.merge-data-table tfoot td{position:sticky;bottom:0;z-index:1;border-top:1px solid color-mix(in oklch,var(--accent),var(--line) 42%);border-bottom:0;background:color-mix(in oklch,var(--accent),var(--surface) 90%);color:var(--accent-dark);font-weight:800}.merge-data-table tfoot td:first-child{color:var(--ink)}.table-sort-button{width:100%;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:6px;align-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:left}.table-sort-button span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.table-sort-button .sort-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in oklch,var(--muted),transparent 24%)}.table-sort-button.active .sort-icon,.table-sort-button:hover{color:var(--accent-dark)}.merge-data-table th:first-child,.merge-data-table td:first-child{min-width:280px;max-width:420px;white-space:normal}.merge-data-table.freeze-first-column th:first-child,.merge-data-table.freeze-first-column td:first-child{position:sticky;left:0}.merge-data-table.freeze-first-column th:first-child{z-index:3;background:#f1eadf}.merge-data-table.freeze-first-column tbody td:first-child{z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--line)}.merge-data-table.freeze-first-column tfoot td:first-child{z-index:4;background:color-mix(in oklch,var(--accent),var(--surface) 90%)}.table-config-toggle{padding:6px 9px;flex:0 0 auto}.table-config-toggle strong{font-size:.82rem}.export-action:disabled{cursor:not-allowed;opacity:.55}.export-result{border-color:color-mix(in oklch,var(--accent),var(--line) 62%);background:color-mix(in oklch,var(--accent),var(--surface) 92%)}.export-result strong{color:var(--accent-dark)}.export-result span{color:color-mix(in oklch,var(--ink),var(--accent) 18%)}.file-warning-panel{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid oklch(86% .065 82);border-radius:8px;background:#fff4e0;color:#503800;color:oklch(36% .08 82)}.file-warning-head{display:flex;align-items:flex-start;gap:var(--space-sm)}.file-warning-head div{display:grid;gap:2px}.file-warning-head span{color:#6a511e;font-size:.84rem}.file-warning-dismiss{width:30px;height:30px;margin-left:auto;flex:0 0 auto;justify-content:center;background:color-mix(in oklch,var(--surface),transparent 20%);color:#614815}.file-warning-dismiss:hover{background:#f2e3c7}.similar-file-group{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:stretch;gap:var(--space-sm);font-size:.88rem}.similarity-score{min-height:36px;display:grid;place-items:center;gap:1px;border:1px solid oklch(84% .05 82);border-radius:6px;background:#f0dfc0;color:#573d00;color:oklch(38% .09 82)}.similarity-score span{font-size:.74rem;font-weight:700}.similarity-score strong{font-size:.82rem;line-height:1}.similar-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.similar-file-row{min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:color-mix(in oklch,var(--surface),transparent 16%);color:#503800;color:oklch(36% .08 82)}.similar-file-name,.similar-file-action{border:0;background:transparent;color:inherit}.similar-file-name{min-width:0;height:100%;padding:0 10px;display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;text-align:left}.similar-file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.similar-file-action{width:36px;height:100%;justify-content:center;border-left:1px solid var(--line);color:var(--bad)}.similar-file-action:hover{background:var(--bad-soft)}.metric{min-width:136px;padding:var(--space-md) var(--space-lg);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.metric span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.metric strong{display:block;margin-top:var(--space-xs);font-size:1.55rem;line-height:1}.metric.good strong{color:var(--good)}.metric.warn strong,.warn-icon,.note-text{color:#805c00;color:oklch(50% .11 82)}.metric.bad strong{color:var(--bad)}.blank-state{flex:1;min-height:420px;display:grid;place-content:center;justify-items:center;gap:var(--space-md);text-align:center;color:var(--muted)}.blank-state h2{color:var(--ink)}.blank-state p{max-width:42ch;margin:0;line-height:1.7}.validation-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:var(--space-md);overflow:hidden}.project-rail{min-height:0;padding:var(--space-sm) var(--space-md) var(--space-sm) 0;display:flex;flex-direction:column;gap:var(--space-sm);border-right:1px solid var(--line);background:color-mix(in oklch,var(--paper),transparent 48%)}.project-sort{display:grid;gap:var(--space-xs)}.project-sort>span{color:var(--muted);font-size:.74rem;font-weight:800}.project-sort-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklch,var(--paper),var(--surface) 54%)}.project-sort-tabs button{min-width:0;padding:6px 4px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:800}.project-sort-tabs button.selected{background:var(--surface);color:var(--accent-dark)}.project-list{width:auto;min-height:0;max-height:none;display:flex;flex-direction:column;gap:var(--space-sm);overflow:auto;padding-right:var(--space-xs)}.project-item{min-height:44px;padding:0 var(--space-sm);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);background:var(--surface);color:var(--ink);text-align:left}.project-item.active{border-color:var(--accent);background:color-mix(in oklch,var(--accent),var(--surface) 89%)}.project-item b{min-width:24px;color:var(--bad);text-align:right}.detail-panel{flex:1;min-width:0;min-height:0;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);overflow:auto}.detail-head{align-items:flex-start;justify-content:space-between}.project-stats{flex-wrap:wrap}.project-stats span{padding:6px 10px;border-radius:999px;background:color-mix(in oklch,var(--paper),var(--surface) 62%);color:var(--muted);font-size:.84rem;font-weight:700}.filter-tabs{margin-top:var(--space-xs)}.filter-tabs button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--surface);color:var(--muted);font-weight:700}.filter-tabs button.selected{background:color-mix(in oklch,var(--accent),var(--surface) 86%);color:var(--accent-dark);border-color:color-mix(in oklch,var(--accent),var(--line) 36%)}.filter-count{display:inline-flex;min-width:20px;height:18px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in oklch,var(--muted),var(--surface) 78%);color:var(--muted);font-size:.7rem;font-weight:800;line-height:1}.filter-tabs button.selected .filter-count{background:var(--accent-dark);color:var(--surface)}.sheet-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:8px}.sheet-table{width:100%;border-collapse:collapse;font-size:.88rem}.sheet-table th,.sheet-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.sheet-table th{position:sticky;top:0;z-index:1;background:#f1eadf;color:var(--muted);font-size:.78rem;font-weight:800}.sheet-table tr.failed td{background:color-mix(in oklch,var(--bad-soft),transparent 54%)}.sheet-table tr.passed td{background:color-mix(in oklch,var(--good-soft),transparent 68%)}.sheet-table tr.warning td{background:color-mix(in oklch,oklch(95% .045 82),transparent 58%)}.status-pill{display:inline-flex;min-width:48px;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.field-note{display:block;margin-top:3px;color:var(--muted);font-size:.74rem;font-weight:700}.status-pill.passed{background:var(--good-soft);color:var(--good)}.status-pill.failed{background:var(--bad-soft);color:var(--bad)}.status-pill.warning{background:#fee8c2;color:#6f4f00;color:oklch(45% .11 82)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.workspace-grid{flex-direction:column}.validation-layout{grid-template-columns:1fr;overflow:visible}.project-rail{padding:0 0 var(--space-md);border-right:0;border-bottom:1px solid var(--line)}.result-content{padding-left:0}.setup-panel,.project-list{width:100%}.project-list{max-height:220px}.similar-file-list,.similar-file-group{grid-template-columns:1fr}.merge-result{grid-template-columns:1fr;align-items:stretch}.download-files,.feature-grid,.project-maintenance-layout,.comparison-layout,.missing-project-list{grid-template-columns:1fr}.missing-project-row{grid-template-columns:28px minmax(0,1fr)}.comparison-rail{padding-right:0;padding-bottom:var(--space-md);border-right:0;border-bottom:1px solid var(--line)}}
