:root{--bg:#f4f4f2;--panel:#fff;--text:#16181a;--muted:#666b70;--line:#d6d6d2;--accent:#1f5fd1;--ok:#1d7a3a;--bad:#b3261e;--warn:#9a6400;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:4px;padding:6px 12px}button:disabled{opacity:.5;cursor:default}button.active{background:var(--text);color:#fff;border-color:var(--text)}button.approve{background:var(--ok);color:#fff;border-color:var(--ok);font-weight:600}button.danger{background:var(--bad);color:#fff;border-color:var(--bad);font-weight:600}input[type=text],input:not([type]){font:inherit;border:1px solid var(--line);border-radius:4px;min-width:280px;padding:6px 8px}a{color:var(--accent)}.app{flex-direction:column;min-height:100vh;display:flex}.top{background:var(--text);color:#fff;align-items:center;gap:24px;padding:12px 20px;display:flex}.top h1{letter-spacing:1px;margin:0;font-size:20px}.top button{color:#fff;background:#2c3035;border-color:#444}.counters{flex:1;gap:20px;display:flex}.counter{flex-direction:column;align-items:center;display:flex}.counter-value{font-size:22px;font-weight:700}.counter-label{opacity:.75;font-size:11px}.status-line{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px;padding:6px 20px;font-size:12px;display:flex}.warn{color:var(--warn);font-weight:600}.error{color:var(--bad);margin:8px 0;font-weight:600}.ok{color:var(--ok);margin-top:6px;font-weight:600}.muted{color:var(--muted);font-size:12px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;display:flex}.filters{flex-wrap:wrap;gap:6px;margin-left:24px;display:flex}.review{flex:1;grid-template-columns:300px 1fr;min-height:0;display:grid}.list{border-right:1px solid var(--line);background:var(--panel);max-height:calc(100vh - 170px);overflow-y:auto}.list-item{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:8px 12px;display:flex}.list-item.active{background:#e3ecfb}.list-title{font-size:13px}.panel,.validate{max-height:calc(100vh - 170px);padding:14px 20px;overflow-y:auto}.nav-line{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.keys{color:var(--muted);margin-left:auto;font-size:12px}.auto{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.product{background:var(--panel);border:1px solid var(--line);border-radius:6px;gap:20px;padding:12px;display:flex}.product-fields{grid-template-columns:130px 1fr;align-content:start;gap:4px 12px;margin:0;display:grid}.product-fields dt{color:var(--muted)}.product-fields dd{margin:0}.product-title{font-size:18px;font-weight:700}.label{color:var(--muted);margin-bottom:4px;font-size:12px}.badge{background:#ddd;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.badge-sem-imagem{color:var(--bad);background:#fde2e1}.badge-a-validar{color:var(--warn);background:#fff0cc}.badge-com-imagem-backend{color:#334;background:#e2e8f0}.badge-aprovado{color:var(--ok);background:#d9f2df}.badge-rejeitado{color:#555;background:#eee}.semantic{font-family:ui-monospace,monospace;font-size:11px}.semantic-human-approved{color:var(--ok)}.semantic-human-rejected{color:var(--bad)}.img-box{border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden}.img-box img{object-fit:contain;max-width:100%;max-height:100%}.img-xl{flex-shrink:0;width:460px;height:460px}.img-lg{width:100%;height:340px}.img-md{width:220px;height:220px}.img-sm{width:80px;height:80px}.img-placeholder{color:var(--muted);background:repeating-linear-gradient(45deg,#f2f2f2,#f2f2f2 8px,#e8e8e8 8px 16px);font-size:12px}.approved-box{border:2px solid var(--ok);background:#f1fbf3;border-radius:6px;align-items:flex-start;gap:16px;margin-top:12px;padding:12px;display:flex}.approved-box.rejected{background:#f3f3f3;border-color:#999;align-items:center}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.actions{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.custom-query{gap:6px;margin-left:auto;display:flex}.candidates-head{align-items:baseline;gap:12px;margin-top:16px;display:flex}.candidates-head h2{margin:0;font-size:16px}.empty-candidates{background:var(--panel);border:1px dashed var(--line);margin-top:8px;padding:20px}.candidates{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.candidates.small .img-lg{height:200px}.candidate{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;padding:10px;display:flex}.candidate.selected{border:3px solid var(--ok)}.candidate-num,.score{font-size:18px;font-weight:700}.ellipsis{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;overflow:hidden}.links{font-size:12px}.reasons{flex:1;margin:4px 0;padding-left:16px;font-size:12px}.reasons .pos{color:var(--ok)}.reasons .neg{color:var(--bad)}.candidate .approve{padding:10px;font-size:15px}.extras{margin-top:12px}.validate-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.validate-body .product{flex:1}.empty{color:var(--muted);padding:40px}.apply{border-top:1px solid var(--line);background:#ececea;align-items:center;gap:16px;margin-top:auto;padding:8px 20px;font-size:12px;display:flex}.disabled-flag{color:var(--bad);border:1px solid var(--bad);border-radius:3px;padding:2px 6px;font-family:ui-monospace,monospace;font-weight:700}.button-link{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:4px;padding:6px 12px;text-decoration:none}.button-link.disabled{opacity:.5;pointer-events:none}.plan-counters{gap:12px;margin:8px 0;display:flex}.plan-stat{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;min-width:120px;padding:10px;display:flex}.dry-run{color:#e6e6e6;white-space:pre-wrap;background:#16181a;border-radius:6px;padding:12px;font-size:12px}.plan-table{border-collapse:collapse;background:var(--panel);width:100%}.plan-table th,.plan-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px;font-size:13px}.selection{flex:1}.selection-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.selection-strip{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.selection-item{background:var(--panel);border:1px solid var(--line);border-radius:6px;width:240px;padding:8px}.selection-item.primary{border:3px solid var(--ok)}.selection-pos{align-items:center;gap:8px;margin-bottom:4px;font-size:18px;font-weight:700;display:flex}.cover-flag{background:var(--ok);color:#fff;border-radius:3px;margin-left:6px;padding:2px 6px;font-size:11px;font-weight:700}.candidate-top{justify-content:space-between;align-items:center;display:flex}.selected-flag{color:var(--ok);font-size:13px;font-weight:700}.small{word-break:break-all;font-size:11px}.candidate .row button{flex:1;padding:10px;font-size:14px}.plan-images{flex-wrap:wrap;gap:8px;display:flex}.plan-image{border:1px solid var(--line);border-radius:4px;width:150px;padding:4px}.plan-image.primary{border:2px solid var(--ok)}.shared-images{border:2px solid var(--warn);background:#fffaf0;border-radius:6px;margin:12px 0;padding:12px}.shared-images h2{margin:0 0 4px;font-size:16px}.shared-pair{border-top:1px solid var(--line);grid-template-columns:240px 1fr;gap:12px;padding:12px 0;display:grid}.shared-pair.authorized{opacity:.8}.shared-products{grid-template-columns:1fr 1fr;gap:12px;display:grid}.shared-product{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;padding:10px;display:flex}.shared-product .product-title{font-size:15px}.shared-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.cover-product{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:10px 12px}.cover-images{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.cover-image{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.cover-image.is-cover{border:3px solid var(--ok)}.cover-image .img-lg{height:260px}.enabled-flag{color:var(--ok);border:1px solid var(--ok);border-radius:3px;padding:2px 6px;font-family:ui-monospace,monospace;font-weight:700}.user-chip{opacity:.8;font-size:12px}.top-actions{align-items:center;gap:10px;display:flex}.login{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:24px;display:flex}.login-card h1{letter-spacing:1px;margin:0;font-size:18px}.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.login-card input{font:inherit;border:1px solid var(--line);min-width:0;color:var(--text);border-radius:4px;padding:8px 10px}.login-card button{padding:10px}.apply-box{border:2px solid var(--ok);background:#f1fbf3;border-radius:6px;flex-direction:column;gap:8px;margin:12px 0;padding:12px;display:flex}.apply-box.failed{border-color:var(--bad);background:#fdf1f0}.apply-log{white-space:pre-wrap;border:1px solid var(--line);background:#fff;max-height:220px;margin:0;padding:8px;font-family:ui-monospace,monospace;font-size:11px;overflow:auto}
