:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20302b;background:#f5f6f2;font-size:14px;--accent:#24674f;--line:#dce2da;--muted:#68766e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:white;color:inherit;cursor:pointer;font-weight:550}button:hover{border-color:var(--accent);background:#f0f6f1}button:disabled{opacity:.45;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#194d3b;color:white}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin-bottom:9px}h2{font-size:21px;margin-bottom:8px}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--accent);margin-bottom:12px}.topbar{height:72px;padding:0 36px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:#20302b;font-weight:700;font-size:17px}.brand small{font-size:10px;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;background:#dcebdc;border:1px solid #c5dac4;color:var(--accent);border-radius:9px;font-weight:800;font-size:13px}.account,.actions{display:flex;align-items:center;gap:12px}.account span{color:var(--muted)}.workspace{max-width:1700px;margin:auto;padding:36px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}.page-heading p:last-child{margin:0}.toolbar{display:flex;gap:14px;padding:18px;background:white;border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}.toolbar label{flex:1;min-width:120px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#55655b}input,select,textarea{width:100%;border:1px solid var(--line);padding:10px;border-radius:6px;background:#fff;color:#25372c;min-width:0}textarea{resize:vertical;min-height:75px}.viewbar{display:flex;justify-content:space-between;align-items:center;margin-top:24px;border-bottom:1px solid var(--line);gap:10px}.tabs{display:flex;gap:22px}.tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:14px 0;color:var(--muted)}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.checkbox{flex-direction:row;align-items:center;gap:6px;font-weight:400}.checkbox input{width:auto;accent-color:var(--accent)}.stats{display:flex;gap:16px;margin:22px 0;flex-wrap:wrap}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 20px;min-width:150px;flex:1}.stat strong{display:block;font-size:26px;font-weight:650;letter-spacing:-.6px;margin:7px 0}.stat span{font-size:12px;color:var(--muted)}.stat .small{font-size:14px;letter-spacing:0}.results-bar{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin:15px 0;gap:10px}#bulk{display:flex;align-items:center;gap:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.card-image{position:relative;background:#171e21;height:210px;cursor:pointer;display:block;width:100%;padding:0;border:0;border-radius:0}.card-image svg{width:100%;height:100%;display:block}.card-body{padding:14px}.card-title{font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.filename{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 12px}.badge{font-size:10px;font-weight:650;padding:4px 7px;border-radius:4px;background:#eef0ed;color:#59665d;white-space:nowrap}.badge.verified{background:#e0f1e5;color:#236239}.badge.needs-review,.badge.to-annotate{background:#fff0d7;color:#8b5d0c}.badge.to-review{background:#e6edf9;color:#3d6092}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.card-actions button,.card-actions a{font-size:11px;padding:6px 8px}.select-card{position:absolute;left:10px;top:10px;z-index:1;background:#fff;padding:5px;border-radius:5px}.select-card input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.annotation{fill:transparent;stroke:#89edaa;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}.annotation.focus{stroke:#ffda70;stroke-width:3}.work-area{fill:#ffd66718;stroke:#ffd667;stroke-width:2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;cursor:pointer}.hide-boxes .annotation{display:none}.empty{grid-column:1/-1;padding:70px 25px;text-align:center;border:1px dashed #c6d4c8;border-radius:10px;background:#fff}.empty h2{font-size:24px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:32px}.pagination span{font-size:12px;color:var(--muted)}#notice{padding:13px 18px;border-radius:7px;margin-bottom:18px;background:#e3eee6;color:#275f3c}#notice.error,.error{background:#fbe7e3;color:#963e34}.error{padding:12px;border-radius:6px}.compare-card{grid-column:span 2}.compare-images{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#2b3335}.compare-images .card-image{height:240px}.comparison-head{font-size:11px;background:#eef2ec;padding:8px 12px;display:flex;justify-content:space-between}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px;margin-top:24px;padding:20px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}details{margin-top:18px}summary{cursor:pointer;font-weight:600}.unpaired-list{max-height:260px;overflow:auto}.unpaired-list button{font-size:12px;margin:5px}dialog{width:min(1450px,96vw);max-height:94vh;padding:0;border:1px solid var(--line);border-radius:12px;color:inherit;box-shadow:0 30px 90px #0005}dialog::backdrop{background:#102019aa}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.dialog-header .eyebrow{margin-bottom:7px}.dialog-header h2{font-size:16px;max-width:75vw;overflow-wrap:anywhere}.viewer-tools{display:flex;gap:8px;align-items:center;padding:12px 24px;flex-wrap:wrap}.viewer-tools a{margin-left:auto}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:540px}#panel-stage{background:#141b1e;display:flex;min-width:0}#panel-stage svg{width:100%;height:65vh;touch-action:none}#panel-stage .side{width:50%;min-width:0}#panel-stage .side svg{width:100%}#inspector{padding:20px;background:#f7f8f4;overflow-y:auto;max-height:65vh;border-left:1px solid var(--line)}#inspector label{margin:12px 0}#inspector button{margin:5px 0}#inspector hr{border:0;border-top:1px solid var(--line);margin:20px 0}.viewer-hint{padding:10px 24px;margin:0;font-size:12px}.region-item{padding:12px 0;border-top:1px solid var(--line)}.region-item p{font-size:12px;overflow-wrap:anywhere}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coord-grid label{margin:0!important}#version-dialog{max-width:440px;padding:28px}#version-dialog .actions{justify-content:flex-end;margin-top:20px}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#dfebdd,transparent 65%),#f5f6f2}.login-card{width:min(440px,92vw);padding:38px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 25px 90px #203d2510}.login-card .brand-mark{margin-bottom:24px}.login-card h1{font-size:30px}.login-card p{line-height:1.6;color:var(--muted)}.login-card form{display:grid;gap:18px;margin:26px 0}.login-card .muted{font-size:11px;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:900px){.workspace{padding:20px}.topbar{padding:0 20px}.page-heading{align-items:flex-start;flex-direction:column}.tabs{gap:14px}.viewer-layout{grid-template-columns:1fr}#inspector{max-height:none;border-left:0}#panel-stage svg{height:50vh}.compare-card{grid-column:1/-1}.brand small{display:none}.account span{display:none}}@media(max-width:550px){h1{font-size:27px}.workspace{padding:16px}.toolbar{gap:10px;padding:12px}.toolbar label{min-width:42%}.viewbar{align-items:flex-start;flex-direction:column}.tabs{gap:18px}.tabs button{font-size:12px}.stats{gap:8px}.stat{min-width:42%;padding:12px}.results-bar{align-items:flex-start;flex-direction:column}.viewer-tools{padding:12px}.gallery{grid-template-columns:1fr}.compare-images .card-image{height:180px}.brand{font-size:15px}}

.work-area{pointer-events:stroke}

.sync-progress{display:flex;align-items:center;gap:12px;margin-bottom:18px}.sync-progress #notice{flex:1;margin-bottom:0}.sync-progress:has(#notice[hidden]):has(#cancel-sync[hidden]){display:none}

@media(max-width:650px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}.account{flex-wrap:wrap}}

#bulk{flex-wrap:wrap}#bulk-class-dialog{width:min(600px,92vw);max-height:85vh;overflow:auto;padding:28px}#bulk-class-dialog label{margin:18px 0}#bulk-class-dialog .actions{justify-content:flex-end;margin-top:20px}#bulk-class-confirm ul{max-height:240px;overflow:auto;padding-left:22px}#bulk-class-confirm li{margin:8px 0}

.pagination{flex-wrap:wrap;gap:16px;padding:28px 0}.page-navigation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.pagination #page-label{margin:0 8px}.pagination form{display:flex;align-items:center;justify-content:center;gap:8px}.pagination label{display:block;white-space:nowrap}.pagination input{width:90px}.pagination button{white-space:nowrap}@media(max-width:550px){.pagination{gap:12px}.page-navigation{gap:6px}.page-navigation button{padding:8px}.pagination #page-label{margin:0 2px}}

.danger{color:#a52b25;border-color:#d9a29e}.danger:hover{background:#fff0ef;border-color:#a52b25}#delete-defect-dialog{width:min(520px,92vw);max-height:85vh;overflow:auto;padding:28px}#delete-defect-dialog p{line-height:1.6;overflow-wrap:anywhere}#delete-defect-dialog .actions{justify-content:flex-end;flex-wrap:wrap;margin-top:20px}

.cell-location{display:inline-flex;align-items:center;margin:8px 0 2px;padding:3px 7px;border-radius:5px;background:#e8eee7;color:#3d594a;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:600;white-space:nowrap}
