:root{color:#17211d;background:#f3f5f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,.buttonLink{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #cfd8d2;border-radius:8px;background:#fff;color:#1e342c;cursor:pointer;font-weight:800;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.62}h1,p{margin:0}.loadingScreen,.loginShell{display:grid;min-height:100vh;place-items:center;padding:18px;background:linear-gradient(180deg,rgba(36,164,109,.16),transparent 280px),#f3f5f1}.loadingScreen{gap:10px;color:#31534a;font-weight:800}.loginCard{display:grid;gap:14px;width:min(100%,420px);padding:24px;border:1px solid #d8e0db;border-radius:8px;background:#fff;box-shadow:0 20px 50px #202d281f}.loginCard svg{color:#19895d}.loginCard h1{font-size:28px;letter-spacing:0}.loginCard p,.workspaceHeader p{color:#65736d;font-size:14px}label{display:grid;gap:7px;color:#40504a;font-size:13px;font-weight:800}input,select{width:100%;min-height:38px;padding:0 10px;border:1px solid #ccd6d1;border-radius:8px;background:#fff;color:#17211d}.loginCard button,.entryForm button,.scanPrimary{border-color:#168858;background:#168858;color:#fff}.formError{padding:10px 12px;border:1px solid #fac8bc;border-radius:8px;background:#fff5f2;color:#a43d2b;font-size:13px;font-weight:800}.appShell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;position:sticky;top:0;flex-direction:column;gap:16px;height:100vh;padding:18px;border-right:1px solid #d8e0db;background:#fff}.brandBlock{display:flex;align-items:center;gap:10px;min-height:48px}.brandBlock svg{color:#168858}.brandBlock div{display:grid;gap:2px}.brandBlock strong{font-size:17px}.brandBlock span{color:#69756f;font-size:12px;font-weight:800}nav{display:grid;gap:8px}nav button,.logoutButton{justify-content:flex-start;width:100%;border-color:transparent;background:#f7f9f6}nav button.active{border-color:#a8d9c4;background:#e8f7ef;color:#0f7049}.logoutButton{margin-top:auto;color:#8b4031}.workspace{min-width:0;padding:22px}.workspaceHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.workspaceHeader h1{font-size:28px;line-height:1.15;letter-spacing:0}.headerActions,.backupActions{display:flex;flex-wrap:wrap;gap:9px}.notice{margin-bottom:12px;padding:11px 12px;border:1px solid #b9decf;border-radius:8px;background:#f0fbf5;color:#126b46;font-weight:800}.panel{border:1px solid #d8e0db;border-radius:8px;background:#fffffff2;box-shadow:0 12px 32px #212d2814}.filterBar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(5,minmax(112px,140px)) auto;gap:10px;padding:12px;border-bottom:1px solid #e1e8e4}.searchBox{display:flex;align-items:center;gap:8px;min-width:0;padding:0 10px;border:1px solid #ccd6d1;border-radius:8px;background:#fff}.searchBox input{border:0;padding:0}.metricStrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border-bottom:1px solid #e1e8e4;background:#e1e8e4}.metricStrip.reports{grid-template-columns:repeat(9,minmax(0,1fr));border-bottom:0}.metric{display:grid;gap:4px;padding:14px;background:#fff}.metric span{color:#65736d;font-size:12px;font-weight:800}.metric strong{font-size:22px;line-height:1}.sheetWrap{overflow:auto;max-height:calc(100vh - 250px)}.sheetTable,.summaryTable{width:100%;border-collapse:collapse;font-size:13px}.sheetTable{table-layout:fixed;min-width:2280px}.sheetTable th,.sheetTable td,.summaryTable th,.summaryTable td{min-width:104px;padding:8px;border-right:1px solid #e3e9e5;border-bottom:1px solid #e3e9e5;text-align:left;white-space:nowrap}.sheetTable th,.sheetTable td{overflow:hidden;vertical-align:top}.sheetTable th:nth-child(1),.sheetTable td:nth-child(1){width:92px}.sheetTable th:nth-child(2),.sheetTable td:nth-child(2),.sheetTable th:nth-child(3),.sheetTable td:nth-child(3){width:170px}.sheetTable th:nth-child(4),.sheetTable td:nth-child(4){width:88px}.sheetTable th:nth-child(5),.sheetTable td:nth-child(5){width:150px}.sheetTable th:nth-child(6),.sheetTable td:nth-child(6),.sheetTable th:nth-child(7),.sheetTable td:nth-child(7),.sheetTable th:nth-child(8),.sheetTable td:nth-child(8),.sheetTable th:nth-child(9),.sheetTable td:nth-child(9),.sheetTable th:nth-child(10),.sheetTable td:nth-child(10),.sheetTable th:nth-child(11),.sheetTable td:nth-child(11){width:116px}.sheetTable th:nth-child(12),.sheetTable td:nth-child(12){width:106px}.sheetTable th:nth-child(13),.sheetTable td:nth-child(13),.sheetTable th:nth-child(14),.sheetTable td:nth-child(14){width:132px}.sheetTable th:nth-child(15),.sheetTable td:nth-child(15){width:220px}.sheetTable th:nth-child(16),.sheetTable td:nth-child(16){width:170px}.sheetTable th:nth-child(17),.sheetTable td:nth-child(17){width:280px}.sheetTable th,.summaryTable th{position:sticky;z-index:1;top:0;background:#183b32;color:#fff;font-weight:900}.sheetTable td{background:#fff}.sheetTable input,.sheetTable select{width:100%;min-width:0;min-height:32px;border-color:transparent;background:#f7faf8}.noteInput{display:block;width:100%;margin-top:6px}.sheetTable input:focus,.sheetTable select:focus{outline:2px solid #97d8bd}.positive{color:#10784f;font-weight:900}.negative{color:#a64230;font-weight:900}.statePill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:26px;border-radius:8px;font-size:12px;font-weight:900}.statePill.unsold{background:#fff1d9;color:#8a5a0f}.statePill.sold{background:#e6f7ee;color:#0d6f47}.statePill.review{background:#ffe8df;color:#9a3d29}.reviewReason,.sourceCell{display:block;width:100%;max-width:100%;margin-top:4px;overflow:hidden;color:#6c7772;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.sourceCell{color:#24443a}.iconButton{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.rowActions{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.miniAction{min-height:28px;padding:0 7px;border-radius:7px;font-size:12px}.scanGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}.scanPanel,.entryForm{display:grid;align-content:start;gap:12px;padding:14px}.scanPrimary,.scanSecondary{min-height:56px;font-size:16px}.scanPrimary svg,.scanSecondary svg{width:22px;height:22px}.hiddenInput{display:none}.scanResults{display:grid;gap:8px;min-height:130px;padding:12px;border:1px dashed #cbd7d1;border-radius:8px;color:#63716b;font-weight:800}.scanResults div{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid #e2e9e5;border-radius:8px;background:#fff}.scanResults strong{font-size:20px;color:#12251e}.scanResults span{overflow-wrap:anywhere}.summaryTable{margin-top:12px}.dewuPanel{padding:14px}.dewuHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dewuHeader h2{margin:0 0 4px;font-size:18px}.dewuHeader p{color:#64716c;font-size:13px;font-weight:700}.dewuList{display:grid;gap:12px}.dewuCard{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:12px;padding:12px;border:1px solid #e1e8e4;border-radius:8px;background:#fff}.dewuOrder,.candidateRow>div{display:grid;gap:5px;min-width:0}.dewuOrder strong,.candidateRow strong{color:#12251e;overflow-wrap:anywhere}.dewuOrder span,.candidateRow span,.candidateRow small,.dewuOrder small{color:#65736d;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.candidateList{display:grid;gap:8px;align-content:start}.candidateRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #dfe8e3;border-radius:8px;background:#f9fbfa}.backupActions{padding:14px;border-bottom:1px solid #e1e8e4}.importSummary{display:grid;gap:4px;margin:14px 14px 0;padding:12px;border:1px solid #f0d8b2;border-radius:8px;background:#fffaf0}.importSummary strong{color:#7a500f}.importSummary span,.importSummary small{overflow-wrap:anywhere;color:#6f6250}.importSummary small{font-size:12px}.passwordForm{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;border-color:#d6e4dc;background:#f8fbf9}.passwordForm strong,.passwordForm .formError{grid-column:1 / -1}.passwordForm strong{color:#1e5b43}.dewuPreview{border-color:#cfe0f5;background:#f7fbff}.previewMetrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.previewRows{display:grid;gap:7px}.previewRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #dce8f5;border-radius:8px;background:#fff}.previewRow div{display:grid;gap:3px;min-width:0}.previewRow strong,.previewRow span{overflow-wrap:anywhere}.previewActions{display:flex;flex-wrap:wrap;gap:8px}.backupList{display:grid;gap:8px;padding:14px}.backupRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid #e1e8e4;border-radius:8px;background:#fff}.backupRow div{display:grid;gap:3px;min-width:0}.backupRow span,.backupRow small{overflow-wrap:anywhere;color:#64716c}.backupRow small{font-size:12px}.backupRow a{color:#0f7049;font-weight:900}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.appShell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px;border-right:0;border-bottom:1px solid #d8e0db}nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}nav button{justify-content:center;min-width:96px}.logoutButton{display:none}.workspace{padding:14px}.passwordForm,.workspaceHeader,.filterBar,.scanGrid,.dewuCard{grid-template-columns:1fr}.workspaceHeader{display:grid}.metricStrip,.metricStrip.reports,.previewMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
