*{box-sizing:border-box}
body{margin:0;background:#f4f6f8;color:#1f2937;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}
.wrap{max-width:1440px;margin:auto;padding:24px}
.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.hero h1{margin:0;font-size:28px}.hero h1 span{font-size:14px;background:#111827;color:white;padding:4px 7px;border-radius:8px}.hero p{margin:8px 0 0;color:#667085}
.health{padding:8px 12px;background:white;border:1px solid #ddd;border-radius:10px;font-size:13px}
.panel{background:white;border:1px solid #e4e7ec;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px #10182808}
.settings{display:flex;gap:14px;align-items:flex-start}.field{display:flex;flex-direction:column;gap:7px;min-width:130px}.field.grow{flex:1}.field label{font-weight:700;font-size:13px}.field small{font-weight:400;color:#667085}
select,textarea,button{font:inherit}select,textarea{border:1px solid #d0d5dd;border-radius:9px;padding:9px;background:#fff}textarea{resize:vertical}
.actions,.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between}.actions{justify-content:flex-start}.inline{display:flex;align-items:center;gap:6px;margin-left:auto}
button,.fileBtn{border:1px solid #d0d5dd;background:white;border-radius:9px;padding:9px 13px;cursor:pointer}button:hover,.fileBtn:hover{background:#f9fafb}.primary{background:#2563eb;color:white;border-color:#2563eb}.primary:hover{background:#1d4ed8}.danger{background:#b42318;color:white;border-color:#b42318}.danger:hover{background:#912018}button:disabled{opacity:.45;cursor:not-allowed}.fileBtn input{display:none}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.stats div{background:white;border:1px solid #e4e7ec;border-radius:12px;padding:15px;text-align:center}.stats b{display:block;font-size:25px}.stats span{font-size:12px;color:#667085}.stats .statEmphasis{position:relative;border-width:2px;box-shadow:0 5px 14px #10182812}.stats .statEmphasis b{font-size:30px;line-height:1.05}.stats .statEmphasis span{font-weight:700}.stats .statNeed{border-color:#f79009;background:#fffaeb}.stats .statNeed b,.stats .statNeed span{color:#b54708}.stats .statGenerated{border-color:#2e90fa;background:#eff8ff}.stats .statGenerated b,.stats .statGenerated span{color:#175cd3}
.sectionTitle{display:flex;align-items:center;justify-content:space-between}.sectionTitle h2{font-size:17px;margin:0 0 10px}.sectionTitle span{font-size:12px;color:#667085}.promptPanel textarea{width:100%}
.progressPanel p{font-size:12px;color:#667085;margin:8px 0 0}.progressHead{display:flex;justify-content:space-between}.bar{height:9px;border-radius:20px;background:#edf0f4;overflow:hidden;margin-top:10px}.bar i{display:block;height:100%;width:0;background:#2563eb;transition:.2s}
.tabs{display:flex;gap:6px;margin:18px 0 10px}.tab{border:none;background:transparent}.tab.active{background:#111827;color:white}.list{display:grid;gap:14px}
.card{background:white;border:1px solid #e4e7ec;border-radius:14px;padding:16px}.card.busy{outline:2px solid #93c5fd}.card.ok{border-color:#86efac}.card.bad{border-color:#fda4af}
.cardTop,.analysisRow,.cardActions{display:flex;align-items:center;justify-content:space-between;gap:12px}.fileInfo{min-width:0;flex:1}.cardTopActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.showLocation,.downloadOriginal{padding:6px 10px;font-size:12px}.downloadOriginal{color:#175cd3;border-color:#84adff}
.name{font-size:16px}.path{font-size:12px;color:#667085;margin-top:3px;word-break:break-all}.status,.category{font-size:12px;padding:4px 8px;background:#f2f4f7;border-radius:20px}
.locationInfo{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.locationInfo code{min-width:0;flex:1;word-break:break-all;color:#344054}.copyLocation,.revealFile{padding:5px 8px;font-size:12px;flex-shrink:0}.revealFile{color:#175cd3;border-color:#84adff}
.analysisRow{margin:12px 0;padding:10px;background:#f8fafc;border-radius:9px}.analysisRow .reason{margin-left:10px;color:#667085;font-size:13px}.confidence{font-size:12px;color:#667085}
.pairs{margin-bottom:10px}.pair{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:6px 0}.pair input{border:1px solid #d0d5dd;border-radius:8px;padding:8px}.pair small{align-self:center;color:#667085}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare figure{margin:0}.compare figcaption{font-weight:700;margin-bottom:7px}.imgbox{min-height:220px;background:#eef1f5;border-radius:10px;display:grid;place-items:center;overflow:hidden;position:relative}.imgbox img{max-width:100%;max-height:440px;display:block}.after{display:none}.empty{color:#98a2b3}.meta{font-size:12px;color:#667085;margin:8px 0}
.manualUpload{display:flex;align-items:center;gap:14px;margin:10px 0;padding:13px 14px;border:2px dashed #b8c2d0;border-radius:10px;background:#f8fafc;cursor:pointer;transition:.15s}.manualUpload:hover,.manualUpload:focus-visible,.manualUpload.dragging{border-color:#2563eb;background:#eff6ff;outline:none}.manualUpload.busy{opacity:.65;pointer-events:none}.manualUpload>div{min-width:0;flex:1}.manualUpload b,.manualUpload span{display:block}.manualUpload span{margin-top:3px;font-size:12px;color:#667085}.manualPick{flex-shrink:0}.manualMessage{min-height:18px;margin:-3px 0 6px;font-size:13px;color:#067647}.manualMessage.bad{color:#b42318}
.promptDetail{margin-top:8px;border-top:1px solid #eee;padding-top:8px}.promptDetail summary{cursor:pointer;font-size:13px;font-weight:700;min-height:34px;line-height:30px}.copyPrompt{float:right;padding:5px 10px;color:#175cd3;border-color:#84adff;font-size:12px;line-height:18px}.promptDetail textarea{width:100%;margin-top:8px}.cardActions{margin-top:12px}.check{font-weight:700}.error{color:#b42318;margin-top:8px;font-size:13px}
.filteredCard{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;background:white;border:1px solid #e4e7ec;border-radius:12px;padding:10px}.thumb{width:100px;height:70px;object-fit:contain;background:#eef1f5;border-radius:8px}.filteredText .reason{font-size:13px;color:#667085}.hidden{display:none!important}
.overwriteDialog{width:min(520px,calc(100vw - 32px));padding:0;border:0;border-radius:14px;box-shadow:0 24px 60px #10182840}.overwriteDialog::backdrop{background:#10182880}.overwriteDialogBody{padding:22px}.overwriteDialog h3{margin:0 0 10px;font-size:20px}.overwriteDialog p{margin:8px 0;color:#475467;line-height:1.6}.overwriteDialog .overwriteWarning{padding:10px 12px;border-radius:8px;background:#fef3f2;color:#b42318;font-weight:700}.overwriteProgress{margin-top:18px}.overwriteProgressHead{display:flex;justify-content:space-between;gap:16px;font-size:13px}.overwriteProgressHead span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overwriteBar{height:10px;margin-top:9px;overflow:hidden;border-radius:99px;background:#eaecf0}.overwriteBar i{display:block;width:0;height:100%;background:#2563eb;transition:width .2s}.overwriteDialogActions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media(max-width:900px){.settings{flex-direction:column}.field{width:100%}.stats{grid-template-columns:repeat(3,1fr)}.compare{grid-template-columns:1fr}.actions,.toolbar,.hero,.cardTop{flex-wrap:wrap}.cardTopActions{width:100%;justify-content:space-between}.manualUpload{align-items:flex-start;flex-wrap:wrap}.manualPick{width:100%}.pair{grid-template-columns:1fr}.filteredCard{grid-template-columns:80px 1fr}.filteredCard button{grid-column:1/-1}}
