.barcode-scanner-button{align-items:center;background-color:#007bff;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;padding:10px 20px;transition:background-color .3s}.barcode-scanner-button:hover:not(:disabled){background-color:#0056b3}.barcode-scanner-button:disabled{cursor:not-allowed;opacity:.6}.barcode-scanner-modal{align-items:center;background-color:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:3000}.barcode-scanner-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.barcode-scanner-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.barcode-scanner-header h3{font-size:18px;margin:0}.barcode-scanner-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background-color .2s}.barcode-scanner-close:hover{background-color:#f0f0f0}.barcode-scanner-error{align-items:center;background-color:#f8d7da;border-radius:4px;color:#721c24;display:flex;gap:8px;margin:10px 20px 0;padding:12px 20px}.barcode-scanner-container{align-items:center;background-color:#000;display:flex;justify-content:center;min-height:300px;width:100%}.barcode-scanner-instructions{border-top:1px solid #e0e0e0;padding:20px;text-align:center}.barcode-scanner-instructions p{color:#666;font-size:14px;margin:0 0 15px}.barcode-scanner-container{overflow:hidden;position:relative}.barcode-scanner-container video{height:auto;max-height:400px;max-width:100%;object-fit:contain;transition:transform .2s ease;width:100%}.barcode-scanner-container canvas{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:12}.scanner-target-overlay{--corner-size:30px;--corner-thickness:4px;--corner-color:#0f0;--border-color:#ffffff80;animation:fadeIn .3s ease-in;border:1px solid var(--border-color);left:50%;pointer-events:none;top:50%;transform:translate(-50%,-50%);z-index:15}.scanner-target-overlay,.scanner-target-overlay:before{border-radius:4px;box-sizing:border-box;position:absolute}.scanner-target-overlay:before{background:linear-gradient(to right,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 0 0,linear-gradient(to bottom,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 0 0,linear-gradient(to left,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 100% 0,linear-gradient(to bottom,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 100% 0,linear-gradient(to right,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 0 100%,linear-gradient(to top,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 0 100%,linear-gradient(to left,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 100% 100%,linear-gradient(to top,var(--corner-color) var(--corner-thickness),#0000 var(--corner-thickness)) 100% 100%;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:var(--corner-size) var(--corner-thickness),var(--corner-thickness) var(--corner-size),var(--corner-size) var(--corner-thickness),var(--corner-thickness) var(--corner-size),var(--corner-size) var(--corner-thickness),var(--corner-thickness) var(--corner-size),var(--corner-size) var(--corner-thickness),var(--corner-thickness) var(--corner-size);bottom:-2px;content:"";left:-2px;right:-2px;top:-2px}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.7}}.scanner-target-overlay:before{animation:pulseGlow 2s ease-in-out infinite}@media (max-width:768px){.scanner-target-overlay{--corner-size:25px;--corner-thickness:3px}.barcode-scanner-modal{padding:10px}.barcode-scanner-content{max-height:100vh;max-width:100%;width:100%}.barcode-scanner-container{max-width:100%;min-height:250px;width:100%}.barcode-scanner-container video{max-width:100%;width:100%}}.tool-page{--tool-surface:var(--color-white);--tool-surface-hover:var(--color-gray-100);--tool-border:var(--color-border);--tool-text:var(--color-gray-900);--tool-muted:var(--color-gray-600);--tool-accent:var(--color-primary);--tool-accent-hover:var(--color-primary-hover);--tool-success:#16a34a;--tool-error:#dc2626;--tool-radius:var(--radius-lg);--tool-radius-sm:var(--radius-md);color:var(--tool-text);margin:0 auto;max-width:1000px;padding:2rem 1.5rem 3rem}.tool-page h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}.tool-page .subtitle{color:var(--tool-muted);font-size:.95rem;margin:0 0 .75rem}.tool-page .model-status{color:var(--tool-muted);font-size:.85rem;margin:0 0 .75rem}.tool-page .limit-notice{background:#2563eb14;border:1px solid #2563eb40;border-radius:var(--tool-radius-sm);color:var(--color-primary);font-size:.875rem;margin:0 0 1rem;padding:.65rem .85rem}.tool-page .drop-zone{background:var(--tool-surface);border:2px dashed var(--tool-border);border-radius:var(--tool-radius);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1.5rem;padding:2.5rem 1.5rem;text-align:center;transition:border-color .2s,background .2s,box-shadow .2s}.tool-page .drop-zone.dragover,.tool-page .drop-zone:hover{background:var(--tool-surface-hover);border-color:var(--tool-accent);box-shadow:var(--shadow-md)}.tool-page .drop-zone input{display:none}.tool-page .drop-zone .icon{font-size:2.5rem;margin-bottom:.5rem;opacity:.8}.tool-page .drop-zone .hint{color:var(--tool-muted);font-size:.875rem;margin-top:.25rem}.tool-page .queue-section h2,.tool-page .results-section h2{color:var(--tool-muted);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.tool-page .queue-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:1.5rem}.tool-page .queue-item{background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.tool-page .queue-item .thumb{aspect-ratio:1;background:var(--color-gray-100);display:block;object-fit:cover;width:100%}.tool-page .queue-item .name{color:var(--tool-muted);font-size:.75rem;overflow:hidden;padding:.5rem .5rem .35rem;text-overflow:ellipsis;white-space:nowrap}.tool-page .queue-item .remove{align-items:center;background:#0f172aa6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .2s;width:24px}.tool-page .queue-item:hover .remove{opacity:1}.tool-page .queue-item .remove:hover{background:var(--tool-error)}.tool-page .queue-item.processing .thumb{opacity:.6}.tool-page .queue-item.processing:after{animation:tool-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#2563eb2e 50%,#0000);background-size:200% 100%;content:"";inset:0;position:absolute}.tool-page .queue-item.done .thumb{border-bottom:3px solid var(--tool-success)}@keyframes tool-shimmer{to{background-position:200% 0}}.tool-page .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.tool-page .btn{border:none;border-radius:var(--tool-radius-sm);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.65rem 1.25rem;transition:background .2s,transform .1s}.tool-page .btn:active{transform:scale(.98)}.tool-page .btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.tool-page .btn-primary{background:var(--tool-accent);color:#fff}.tool-page .btn-primary:hover:not(:disabled){background:var(--tool-accent-hover)}.tool-page .btn-secondary{background:var(--tool-surface);border:1px solid var(--tool-border);color:var(--tool-text)}.tool-page .btn-secondary:hover:not(:disabled){background:var(--tool-surface-hover)}.tool-page .progress-bar-wrap{background:var(--color-gray-100);border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.tool-page .progress-bar{background:var(--tool-accent);border-radius:3px;height:100%;transition:width .2s;width:0}.tool-page .progress-text{color:var(--tool-muted);font-size:.8rem;margin-bottom:1rem}.tool-page .results-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tool-page .result-card{background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.tool-page .result-card .preview-wrap{aspect-ratio:1;background:var(--color-gray-100);position:relative}.tool-page .result-card .preview-wrap img{display:block;height:100%;object-fit:contain;width:100%}.tool-page .result-card .name{color:var(--tool-muted);font-size:.75rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;white-space:nowrap}.tool-page .result-card .card-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .5rem .5rem}.tool-page .result-card .download-btn,.tool-page .result-card .edit-btn{border:none;border-radius:6px;cursor:pointer;display:inline-block;flex:1 1;font-family:inherit;font-size:.8rem;font-weight:600;min-width:0;padding:.4rem;text-align:center;text-decoration:none}.tool-page .result-card .download-btn{background:var(--tool-accent);color:#fff}.tool-page .result-card .download-btn:hover{background:var(--tool-accent-hover)}.tool-page .result-card .edit-btn{background:var(--tool-surface-hover);border:1px solid var(--tool-border);color:var(--tool-text)}.tool-page .result-card .edit-btn:hover{background:var(--tool-border)}.tool-page .error-msg{background:#dc26261a;color:var(--tool-error);font-size:.8rem;padding:.5rem}.tool-page .editor-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.tool-page .editor-modal{background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw}.tool-page .editor-modal .editor-header{align-items:center;border-bottom:1px solid var(--tool-border);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.tool-page .editor-modal .editor-title{font-size:1.1rem;font-weight:600;margin:0}.tool-page .editor-modal .editor-body{align-items:center;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:auto;padding:1rem 1.25rem}.tool-page .editor-canvas-wrap{background:repeating-conic-gradient(#e2e8f0 0 25%,#fff 0 50%) 50% /16px 16px;border-radius:var(--tool-radius-sm);max-width:100%;overflow:hidden;position:relative}.tool-page .editor-canvas-wrap canvas{cursor:crosshair;display:block;height:auto;max-width:100%}.tool-page .editor-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.tool-page .editor-toolbar .brush-modes{display:flex;gap:.25rem}.tool-page .editor-toolbar .brush-mode-btn{background:var(--tool-surface-hover);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);color:var(--tool-text);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem .75rem}.tool-page .editor-toolbar .brush-mode-btn.active{background:var(--tool-accent);border-color:var(--tool-accent);color:#fff}.tool-page .editor-toolbar .brush-size-wrap{align-items:center;display:flex;gap:.5rem}.tool-page .editor-toolbar .brush-size-wrap label{color:var(--tool-muted);font-size:.85rem}.tool-page .editor-toolbar .brush-size-wrap input[type=range]{width:100px}.tool-page .editor-modal .editor-footer{border-top:1px solid var(--tool-border);display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}.tool-page .editor-loading-msg{color:var(--tool-muted);font-size:.875rem;margin:0;min-height:1.25em}.tool-page.qr-tool{max-width:1100px}.qr-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:minmax(280px,1fr) minmax(260px,1fr)}@media (max-width:800px){.qr-layout{grid-template-columns:1fr}}.qr-options{gap:1rem}.qr-field,.qr-options{display:flex;flex-direction:column}.qr-field{gap:.35rem}.qr-label{color:var(--tool-muted);font-size:.875rem;font-weight:600}.qr-field input[type=text],.qr-field textarea,.qr-field-inline input,.qr-field-inline select{background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);color:var(--tool-text);font-family:inherit;font-size:.95rem;padding:.55rem .7rem}.qr-field textarea{min-height:5rem;resize:vertical}.qr-hint{color:var(--tool-muted);font-size:.8rem;margin:0}.qr-hint-warn{color:var(--tool-error);font-weight:600}.qr-ec-choices,.qr-size-choices{display:flex;flex-direction:column;gap:.5rem}.qr-ec-choice,.qr-size-choice{align-items:center;background:var(--color-gray-50);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);cursor:pointer;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem .75rem;padding:.65rem .75rem}.qr-ec-choice.active,.qr-size-choice.active{background:#2563eb14;border-color:var(--tool-accent);box-shadow:inset 0 0 0 1px #2563eb33}.qr-ec-choice input,.qr-size-choice input{margin:0}.qr-ec-choice span:first-of-type{font-weight:600;min-width:3rem}.qr-ec-desc{color:var(--tool-muted);flex:1 1 100%;font-size:.8rem;margin-left:1.5rem}.qr-color-slider-wrap{grid-gap:.65rem;align-items:center;display:grid;gap:.65rem;grid-template-columns:auto 1fr auto}.qr-color-end{color:var(--tool-muted);font-size:.8rem;font-weight:600}.qr-color-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#fff,#000);border:1px solid var(--tool-border);border-radius:999px;cursor:pointer;height:10px;width:100%}.qr-color-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--tool-accent);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0f172a59;height:18px;width:18px}.qr-color-slider::-moz-range-thumb{background:var(--tool-accent);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0f172a59;height:18px;width:18px}.qr-color-swatch{border:1px solid var(--tool-border);border-radius:6px;height:28px;width:100%}.qr-color-modes{display:flex;flex-direction:column;gap:.5rem}.qr-color-mode{align-items:center;background:var(--color-gray-50);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);cursor:pointer;display:flex;font-size:.9rem;gap:.65rem;padding:.65rem .75rem}.qr-color-mode.active{background:#2563eb14;border-color:var(--tool-accent);box-shadow:inset 0 0 0 1px #2563eb33}.qr-color-mode input{margin:0}.qr-color-mode-swatch{border:1px solid var(--tool-border);border-radius:6px;flex-shrink:0;height:28px;width:28px}.qr-swatch-bw{background:linear-gradient(135deg,#000 50%,#fff 0)}.qr-swatch-wb{background:linear-gradient(135deg,#fff 50%,#000 0)}.qr-swatch-rainbow{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.qr-rainbow-block{gap:.65rem;margin-top:.25rem}.qr-hex-field,.qr-rainbow-block{display:flex;flex-direction:column}.qr-hex-field{gap:.35rem}.qr-hex-row{align-items:center;display:flex;gap:.5rem}.qr-hex-preview{border-radius:6px;flex-shrink:0;height:36px;width:36px}.qr-hex-input,.qr-hex-preview{border:1px solid var(--tool-border)}.qr-hex-input{background:var(--tool-surface);border-radius:var(--tool-radius-sm);color:var(--tool-text);flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;padding:.55rem .7rem;text-transform:lowercase}.qr-preview-checker{background:repeating-conic-gradient(#e2e8f0 0 25%,#fff 0 50%) 50% /16px 16px}.qr-rainbow-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border:1px solid var(--tool-border);border-radius:999px;cursor:pointer;height:14px;width:100%}.qr-rainbow-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #0f172a;border-radius:50%;box-shadow:0 1px 4px #0f172a59;height:20px;width:20px}.qr-rainbow-slider::-moz-range-thumb{background:#fff;border:2px solid #0f172a;border-radius:50%;box-shadow:0 1px 4px #0f172a59;height:20px;width:20px}.qr-fieldset{background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);display:flex;flex-direction:column;gap:.65rem;margin:0;padding:.85rem 1rem}.qr-fieldset legend{color:var(--tool-muted);font-size:.85rem;font-weight:600;padding:0 .35rem}.qr-field-inline{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:8.5rem 1fr}.qr-check,.qr-field-inline{align-items:center;font-size:.9rem}.qr-check{display:flex;gap:.5rem}.qr-note{color:var(--color-primary);font-size:.8rem;margin:0}.qr-logo-row{display:flex;flex-wrap:wrap;gap:.5rem}.qr-logo-thumb{align-items:center;display:flex;gap:.75rem}.qr-logo-thumb img{background:var(--color-gray-100);border:1px solid var(--tool-border);border-radius:6px;height:64px;object-fit:contain;width:64px}.qr-output{display:flex;flex-direction:column;gap:.65rem}.qr-size-line{font-size:.85rem;font-weight:600}.qr-size-line,.qr-status{color:var(--tool-muted);margin:0}.qr-status{font-size:.8rem}.qr-preview-panel h2{color:var(--tool-muted);font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.qr-preview-frame{align-items:center;background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius);box-shadow:var(--shadow-sm);display:flex;justify-content:center;min-height:320px;padding:1rem}.qr-preview-frame img{max-height:420px;max-width:100%;object-fit:contain}.qr-preview-empty{color:var(--tool-muted);font-size:.9rem;margin:0;text-align:center}.tool-page .drop-zone.disabled{opacity:.7;pointer-events:none}.tool-page .tool-error{background:#dc262614;border:1px solid #dc26264d;border-radius:var(--tool-radius-sm);color:var(--tool-error);font-size:.9rem;margin:0 0 1rem;padding:.65rem .85rem}.ca-jobs-section{margin-top:.5rem}.ca-muted{color:var(--tool-muted);font-size:.875rem}.ca-job-list{display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:0;padding:0}.ca-job-card{align-items:flex-start;background:var(--tool-surface);border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);box-shadow:var(--shadow-sm);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.1rem}.ca-job-main{flex:1 1;min-width:0}.ca-job-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.55rem}.ca-job-name{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-status-badge{background:var(--color-gray-100);border-radius:4px;color:var(--tool-muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:.15rem .45rem;text-transform:uppercase}.ca-status-badge.running{background:#2563eb1f;color:var(--color-primary)}.ca-status-badge.completed{background:#16a34a1f;color:var(--tool-success)}.ca-status-badge.failed{background:#dc26261f;color:var(--tool-error)}.ca-status-badge.queued{background:#64748b1f;color:#475569}.ca-progress-track{background:var(--color-gray-100);border-radius:999px;height:8px;margin-bottom:.5rem;overflow:hidden}.ca-progress-fill{background:var(--tool-accent);border-radius:999px;height:100%;transition:width .35s ease}.ca-job-card.status-completed .ca-progress-fill{background:var(--tool-success)}.ca-job-card.status-failed .ca-progress-fill{background:#dc262659;width:100%!important}.ca-job-meta{color:var(--tool-text);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.35rem 1rem}.ca-error-text{color:var(--tool-error)}.ca-job-actions{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.ca-job-actions .download-btn{align-items:center;background:var(--tool-accent);border:none;border-radius:var(--tool-radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;justify-content:center;padding:.4rem .75rem}.ca-job-actions .download-btn:hover:not(:disabled){background:var(--tool-accent-hover)}.ca-delete-btn:disabled,.ca-job-actions .download-btn:disabled{cursor:not-allowed;opacity:.55}.ca-delete-btn{align-items:center;background:#0000;border:1px solid var(--tool-border);border-radius:var(--tool-radius-sm);color:var(--tool-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:.4rem}.ca-delete-btn:hover:not(:disabled){border-color:#dc262666;color:var(--tool-error)}@media (max-width:640px){.ca-job-card{flex-direction:column}.ca-job-actions{flex-direction:row;width:100%}.ca-job-actions .download-btn{flex:1 1}}.App{background:linear-gradient(180deg,var(--color-gray-100) 0,var(--color-gray-50) 48%,var(--color-gray-50) 100%);min-height:100vh}.navbar{background:linear-gradient(135deg,#1e3a8a 0,var(--color-primary) 48%,#1d4ed8 100%);border-bottom:1px solid #ffffff1f;box-shadow:var(--shadow-lg);color:var(--color-white);padding:var(--spacing-4) 0}.nav-content{flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-6)}.nav-brand,.nav-content{align-items:center;display:flex}.nav-brand{color:inherit;cursor:pointer;gap:12px;min-width:0;text-decoration:none}.nav-brand:hover .nav-title{text-decoration:underline;text-underline-offset:3px}.nav-logo{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:44px;max-width:min(120px,28vw);object-fit:contain;width:auto}.nav-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1.2;margin:0;text-shadow:0 1px 2px #00000026}.nav-links{display:flex;gap:15px}.nav-link{align-items:center;background-color:#ffffff24;border:1px solid #ffffff38;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;text-decoration:none;transition:background-color .2s ease,box-shadow .2s ease,transform .15s ease}.nav-link:hover{background-color:#ffffff42;box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.nav-link.active{background-color:#ffffff47;border-color:#ffffff59;box-shadow:0 2px 8px #0000001f;color:#fff}.nav-dropdown{position:relative}.nav-dropdown-menu{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px;left:0;min-width:200px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:100}.nav-dropdown-item{border-radius:var(--radius-sm);color:var(--color-gray-900);display:block;font-size:14px;font-weight:500;padding:10px 12px;text-decoration:none;white-space:nowrap}.nav-dropdown-item:hover{background:var(--color-gray-100)}.nav-dropdown-item.active{background:#2563eb1a;color:var(--color-primary)}@media (max-width:768px){.nav-content{flex-direction:column;gap:15px;padding:15px}.nav-links{gap:15px;justify-content:center;width:100%}.nav-logo{height:36px;max-width:min(100px,26vw)}.nav-title{font-size:16px}.nav-link{font-size:14px;padding:8px 16px}}*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-muted:#3b82f6;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-600:#475569;--color-gray-900:#0f172a;--color-white:#fff;--color-border:#e2e8f0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 14px #0f172a14;--shadow-lg:0 12px 40px #0f172a1a;--font-size-lg:1.125rem;--font-weight-bold:700;--spacing-4:1rem;--spacing-6:1.5rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--color-gray-50);color:#0f172a;color:var(--color-gray-900);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}body,html{max-width:100%;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;text-decoration:none;transition:background-color .2s ease,box-shadow .2s ease,transform .15s ease}.btn-primary{background-color:#2563eb;background-color:var(--color-primary);box-shadow:0 1px 2px #0f172a0f;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{background-color:#1d4ed8;background-color:var(--color-primary-hover);box-shadow:0 4px 14px #0f172a14;box-shadow:var(--shadow-md)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-success{background-color:#28a745!important;color:#fff!important}.btn-success:hover{background-color:#218838!important}.btn-warning{background-color:#ffc107!important;color:#212529!important}.btn-warning:hover{background-color:#e0a800!important}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.btn-success):not(.btn-warning){background-color:#6c757d;color:#fff}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.btn-success):not(.btn-warning):hover{background-color:#545b62}.input{background:#fff;background:var(--color-white);border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-sm);font-size:14px;padding:8px 12px}.input:focus{border-color:#3b82f6;border-color:var(--color-primary-muted);box-shadow:0 0 0 3px #2563eb26;outline:none}.card{background:#fff;background:var(--color-white);border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 4px 14px #0f172a14;box-shadow:var(--shadow-md);margin-bottom:20px;padding:20px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.table th{background-color:#f8f9fa;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.table th:hover{background-color:#e9ecef}.table tr:hover{background-color:#f8f9fa}.loading{padding:40px;text-align:center}.error{background-color:#f8d7da;color:#721c24}.error,.success{border-radius:4px;margin-bottom:20px;padding:12px}.success{background-color:#d4edda;color:#155724}.warning{background-color:#fff3cd;border-radius:4px;color:#856404;margin-bottom:20px;padding:12px}.bidder-open{background-color:#fff0f0!important;color:#d32f2f;font-weight:700}.action-buttons{display:flex;flex-wrap:wrap;gap:5px}.action-button{align-items:center;display:flex;font-size:12px;gap:5px;padding:5px 10px}.mobile-action-buttons-row{display:none}.lot-details-container{background-color:#f8f9fa;padding:20px}.scan-mode-button{align-items:center;border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;padding:10px 20px;position:fixed;right:20px;top:20px;white-space:nowrap;z-index:1000}.scan-mode-button-text{overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.scan-mode-button{font-size:12px;max-width:calc(100vw - 20px);padding:8px 12px;right:10px;top:10px}.scan-mode-button-text{display:none}.scan-mode-button svg{margin:0}.actions-column,.actions-column-header,.table tbody tr.lot-details-row{display:none!important}.table tbody .mobile-action-buttons-row{display:table-row!important;visibility:visible!important}.table tbody .mobile-action-buttons-row td{background-color:#f8f9fa!important;border-bottom:1px solid #ddd;display:table-cell!important;padding:12px!important}.mobile-action-buttons-wrapper{box-sizing:border-box;display:block;max-width:100%;overflow:hidden;position:relative;width:100%}.mobile-action-buttons{background-color:#f8f9fa;box-sizing:border-box;display:flex!important;flex-direction:row;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0;padding:12px 4px 12px 8px;width:100%}.mobile-action-buttons .btn{display:flex!important;flex:1 1 auto;min-width:0;opacity:1!important;padding:8px 12px!important;visibility:visible!important}.table tbody tr.mobile-action-buttons-row td{display:table-cell!important;overflow:hidden;padding:0 8px 0 0!important;position:relative}.table tbody tr.mobile-action-buttons-row td .mobile-action-buttons-wrapper{box-sizing:border-box;display:block;margin:0;max-width:calc(100vw - 64px);overflow:hidden;padding-right:8px;width:100%}div[style*=overflowX]{display:block;max-width:100%;overflow-x:auto;width:100%}.table-wrapper .table{max-width:100%!important;table-layout:auto!important;width:100%!important}.table-wrapper{contain:layout style!important}.table tbody tr:not(.lot-details-row) td:nth-child(6),.table thead th:nth-child(6){max-width:0!important;min-width:0!important;overflow:hidden!important;padding:0!important;width:0!important}.table tbody tr:not(.lot-details-row) td,.table thead th{word-wrap:break-word!important;box-sizing:border-box!important;line-height:1.4!important;max-width:none!important;min-width:auto!important;overflow:visible!important;position:relative!important;white-space:normal!important;width:auto!important}.table tbody tr.lot-details-row{display:block!important;left:0!important;margin:0!important;max-width:100%!important;padding:0!important;position:relative!important;right:0!important;table-layout:auto!important;visibility:visible!important;width:100%!important}.table tbody tr.lot-details-row td{column-span:none!important;max-width:100%!important;table-layout:auto!important}.table tbody tr.lot-details-row .lot-details-container{isolation:isolate!important}.table tbody tr.lot-details-row td.lot-details-container{-webkit-overflow-scrolling:touch;box-sizing:border-box!important;display:block!important;left:0!important;margin:0!important;max-width:100%!important;overflow-x:auto!important;padding:20px!important;position:relative!important;right:0!important;table-layout:auto!important;width:100%!important}.table tbody tr.lot-details-row td{display:block!important;width:100%!important}.lot-details-container{-webkit-overflow-scrolling:touch;box-sizing:border-box!important;display:block!important;max-width:100%!important;min-height:100px!important;overflow-x:auto!important;overflow-y:visible!important;padding:20px!important}.lot-details-container,.lot-details-container .table{opacity:1!important;visibility:visible!important;width:100%!important}.lot-details-container .table{border-collapse:collapse!important;display:table!important;min-width:auto!important;table-layout:auto!important}.lot-details-container .table td,.lot-details-container .table th{word-wrap:break-word!important;display:table-cell!important;line-height:1.4!important;min-width:auto!important;padding:12px!important;visibility:visible!important;white-space:normal!important;width:auto!important}.table tbody tr:not(.lot-details-row){display:table-row!important}.table-wrapper{box-sizing:border-box!important;display:block!important;max-width:100vw!important;overflow-x:auto!important;position:relative!important;width:100%!important}.table-wrapper>.table{table-layout:auto!important}.table-wrapper>.table,div[style*=overflowX]{max-width:100%!important;width:100%!important}div[style*=overflowX]{display:block!important;overflow-x:auto!important}.btn{align-items:center!important;background-color:#6c757d!important;border:none!important;color:#fff!important;display:inline-flex!important;gap:6px!important;padding:10px 16px!important;text-decoration:none!important}.btn-primary{background-color:#007bff!important}.btn-secondary{background-color:#6c757d!important}.btn-danger{background-color:#dc3545!important}.btn-success{background-color:#28a745!important;color:#fff!important}.btn-warning{background-color:#ffc107!important;color:#212529!important}.page-header .btn,div[style*="display: flex"] .btn{background-color:#6c757d!important;color:#fff!important}}@media (max-width:480px){.scan-mode-button{border-radius:50%;height:44px;justify-content:center;min-width:44px;padding:8px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}.loading-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.loading-overlay-card{align-items:center;background:#fff;background:var(--color-white);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 12px 40px #0f172a1a;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px;max-width:420px;padding:32px 40px;text-align:center;width:100%}.loading-overlay-title{color:#0f172a;color:var(--color-gray-900);font-size:1.15rem;font-weight:700;margin:8px 0 0}.loading-overlay-detail{color:#475569;color:var(--color-gray-600);font-size:.95rem;line-height:1.4;margin:0}.loading-overlay-elapsed{font-feature-settings:"tnum";color:#475569;color:var(--color-gray-600);font-size:.85rem;font-variant-numeric:tabular-nums;margin:4px 0 0}.info-box{align-items:flex-start;border-radius:10px;border-radius:var(--radius-md);display:flex;gap:12px;margin-bottom:16px;padding:14px 16px}.info-box-loading{align-items:center;background:#f1f5f9;background:var(--color-gray-100);border:1px solid #e2e8f0;border:1px solid var(--color-border)}.info-box-info{background:#eff6ff;border:1px solid #bfdbfe}.info-box-title{align-items:center;display:flex;gap:8px;margin-bottom:8px}.info-box-content p{margin:4px 0}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.page-title{color:#0f172a;color:var(--color-gray-900);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.auction-group-card{background-color:#fff;background-color:var(--color-white);border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0f172a0f;box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .25s ease,transform .2s ease,border-color .2s ease}.auction-group-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a14;box-shadow:var(--shadow-md);transform:translateY(-2px)}.auction-group-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.auction-group-title{color:#333;font-size:18px;font-weight:600;margin:0 0 5px}.auction-group-id{color:#6c757d;font-size:14px;margin:0}.auction-group-meta{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.meta-item{align-items:center;display:flex;gap:8px;margin-bottom:5px}.meta-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:#333;font-size:14px;margin:0}.auction-group-section{border-top:1px solid #ddd;margin-top:15px;padding-top:15px}.auction-group-section-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.auction-id-badge{background-color:#f8f9fa;border-radius:4px;color:#333;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;text-decoration:none;transition:all .3s}.auction-id-badge:hover{background-color:#e9ecef}.auction-id-badge:hover,.btn-link{color:#007bff;text-decoration:underline}.btn-link{background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.btn-link:hover{color:#0056b3}.lot-title-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lot-numbers-cell{font-size:13px;max-width:320px;white-space:normal;word-break:break-word}.invoice-link{align-items:center;background-color:#007bff;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px;text-decoration:none;transition:background-color .2s;white-space:nowrap}.invoice-link:hover{background-color:#0056b3;color:#fff}.auction-group-actions{border-top:1px solid #ddd;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px}.auction-group-actions .btn{flex:0 0 auto}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:fadeIn .2s;background-color:#fff;background-color:var(--color-white);border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 12px 40px #0f172a1a;box-shadow:var(--shadow-lg);max-width:500px;padding:30px;width:90%}.modal-header{margin-bottom:20px}.modal-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-group{margin-bottom:20px}.form-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.empty-state{color:#6c757d;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin-bottom:10px}.empty-state p:last-child{font-size:14px;margin-bottom:0}
/*# sourceMappingURL=main.3d17586d.css.map*/