/* Recognition upload and 2D board previews, scoped to the PCB quote page. */
.pcb-quote-page .pcb-file-entry.pcb-file-entry-recognition{display:block;padding:0;min-height:0;margin-bottom:18px;border:0;background:none;text-align:left;border-radius:0}
.pcb-quote-page #pcb-quote-file{width:100%;color:#606875;line-height:1.7}
.pcb-quote-page #pcb-quote-file[hidden],.pcb-quote-page #pcb-quote-file-fallback[hidden],.pcb-quote-page #pcb-quote-file [hidden],.pcb-quote-page .pcb-recognized-preview [hidden],.pcb-quote-page [data-recognition-preview-empty][hidden]{display:none!important}
.pcb-quote-page .pcb-file-entry-recognition .pcb-file-dropzone{padding:26px 16px;min-height:164px;border:1px dashed #64b28b;background:#f7fdfa;text-align:center;margin-bottom:10px;border-radius:2px}
.pcb-quote-page .pcb-file-dropzone p{margin:10px 0 3px;font-size:12px}
.pcb-quote-page #pcb-quote-file.is-dragging .pcb-file-dropzone{border-color:#008740;background:#e9f6ee}
.pcb-quote-page .pcb-file-row{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid #c8ded2;background:#f7fdfa;border-radius:2px}
.pcb-quote-page .pcb-file-row .layui-icon{font-size:22px;line-height:1;color:#008740;flex:none}
.pcb-quote-page #pcb-quote-file [data-file-name]{min-width:0;overflow-wrap:anywhere;color:#404751;font-size:14px;font-weight:600}
.pcb-quote-page .pcb-file-size{color:#969fa9;font-size:12px;white-space:nowrap}
.pcb-quote-page .pcb-file-ready{flex:none;margin-left:auto}
.pcb-quote-page .pcb-file-status-row{display:flex;align-items:center;gap:28px;margin-top:14px;min-height:40px}
.pcb-quote-page .pcb-file-status-message{display:flex;align-items:center;flex:1;min-width:0;gap:10px;min-height:38px;padding:8px 20px;border-radius:20px;background:linear-gradient(90deg,#f1f2f4 0%,rgba(241,242,244,0) 100%)}
.pcb-quote-page .pcb-file-status-message>.layui-icon{display:none;color:#008740;font-size:17px;line-height:1}
.pcb-quote-page #pcb-quote-file [data-file-status]{flex:1;min-width:0;margin:0;font-size:14px;line-height:22px;overflow-wrap:anywhere}
.pcb-quote-page #pcb-quote-file[data-state=success] [data-file-status]{color:#a9b1bc}
.pcb-quote-page #pcb-quote-file[data-state=success] .pcb-file-status-message>.layui-icon{display:block}
.pcb-quote-page #pcb-quote-file[data-state=error] [data-file-status],.pcb-quote-page #pcb-quote-file[data-state=warning] [data-file-status],.pcb-quote-page .pcb-file-warning{color:#a13a20}
.pcb-quote-page .pcb-file-controls{display:flex;flex:none;gap:16px}
.pcb-quote-page .pcb-file-controls button{width:140px;height:40px;border:0;border-radius:2px;background:#f8f8f8;color:#404751;font-size:16px;line-height:20px;padding:10px 12px;cursor:pointer}
.pcb-quote-page .pcb-file-controls button:hover{color:#008740;background:#edf7f1}
.pcb-quote-page .pcb-file-controls button:focus-visible{outline:2px solid #008740;outline-offset:2px}
@media(max-width:1280px){.pcb-quote-page .pcb-file-status-row{gap:16px}.pcb-quote-page .pcb-file-status-message{padding:8px 14px}.pcb-quote-page .pcb-file-controls{gap:12px}.pcb-quote-page .pcb-file-controls button{width:112px}}
.pcb-quote-page #pcb-quote-file progress{width:100%;height:10px;margin:8px 0;appearance:none;-webkit-appearance:none;border:0;border-radius:5px;overflow:hidden;background:#edf2ee;color:#008740;accent-color:#008740}
.pcb-quote-page #pcb-quote-file progress::-webkit-progress-bar{background:#edf2ee;border-radius:5px}
.pcb-quote-page #pcb-quote-file progress::-webkit-progress-value{background:#008740;border-radius:5px}
.pcb-quote-page #pcb-quote-file progress::-moz-progress-bar{background:#008740;border-radius:5px}
.pcb-quote-page .pcb-file-action{cursor:pointer;border:1px solid #c8d8cd;padding:6px 12px;background:#fff;color:#176e3e;margin:4px 6px 4px 0;line-height:1.5;font-size:12px;border-radius:2px}
.pcb-quote-page .pcb-file-action:hover{border-color:#008740;background:#edf7f1}
.pcb-quote-page #pcb-quote-file button:disabled{opacity:.5;cursor:default}
.pcb-quote-page .pcb-file-field{display:block;color:#a13a20;font-size:12px;line-height:1.6;clear:both;padding-top:5px}
.pcb-quote-page .pcb-quote-recognition-preview{margin:0;color:#606875;background:#fff}
.pcb-quote-page .pcb-quote-recognition-preview[hidden]{display:none!important}
.pcb-quote-page .pcb-recognition-heading{display:flex;align-items:center;width:100%;height:34px;margin:0;padding:0 14px;background:#008740;color:#fff;font-size:14px;font-weight:400;line-height:1.5}
.pcb-quote-page .pcb-recognition-body{padding:10px;border:1px solid #eceef0;border-top:0}
.pcb-quote-page .pcb-quote-recognition-preview .pcb-recognition-host{min-width:0;border:1px solid #008740;border-radius:2px;background:#fff}
.pcb-quote-page .pcb-quote-recognition-preview .pcb-preview-empty{display:flex;align-items:center;justify-content:center;min-height:250px;padding:16px;margin:0;font-size:12px;color:#a5aeb9;text-align:center}
.pcb-quote-page .pcb-recognized-preview{box-sizing:border-box;width:100%;padding:0;margin:0;background:#fff;border:0}
.pcb-quote-page .pcb-file-viewport{height:230px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;cursor:zoom-in;user-select:none;touch-action:pan-y}
.pcb-quote-page .pcb-file-viewport img{width:100%;height:100%;max-width:none;object-fit:contain;transform-origin:center;pointer-events:none;padding:8px}
.pcb-quote-page .pcb-file-tabs{display:flex;gap:6px;padding:4px 8px 6px;margin:0}
.pcb-quote-page .pcb-file-tabs .pcb-file-action{min-width:38px;height:26px;margin:0;padding:0 8px;font-size:12px;line-height:24px;background:#f1f2f4;color:#8d959f;border:1px solid #e3e5e9;border-radius:0}
.pcb-quote-page .pcb-file-tabs button[aria-pressed=true]{background:#fff;color:#404751;border-color:#008740}
.pcb-quote-page .pcb-file-caption{font-size:12px;color:#a13a20;line-height:1.7;margin:0;padding:6px 8px}
.pcb-quote-page .pcb-file-action:focus-visible,.pcb-quote-page .pcb-file-viewport:focus-visible{outline:2px solid #008740;outline-offset:-2px}
