.pdf-processor{max-width:800px;margin:0 auto;padding:40px 30px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;display:flex;flex-direction:column;align-items:center}.pdf-processor h2{text-align:center;color:#2d3748;margin-bottom:40px;font-size:2.2rem;font-weight:600;letter-spacing:.5px;text-shadow:none}.upload-section{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:40px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.5);width:100%;max-width:600px}.upload-group{margin-bottom:30px;position:relative}.upload-group:last-child{margin-bottom:0}.upload-label{display:block;font-weight:600;margin-bottom:12px;color:#4a5568;font-size:1rem}.upload-input{width:100%;padding:15px 20px;border:2px dashed #cbd5e0;border-radius:8px;font-size:16px;transition:all .3s ease;background:#f8f9fa;cursor:pointer;position:relative}.upload-input:hover{border-color:#4299e1;background:#edf2f7;transform:translateY(-1px);box-shadow:0 2px 8px #4299e126}.upload-input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.file-name{display:inline-flex;align-items:center;margin-top:12px;color:#38a169;font-weight:600;font-size:.9rem;padding:6px 12px;background:#38a1691a;border-radius:16px;border:1px solid rgba(56,161,105,.2)}.file-name:before{content:"✓";margin-right:6px;font-size:1rem}.logo-recommendation{margin-top:16px;padding:16px;background:#4299e10d;border:1px solid rgba(66,153,225,.2);border-radius:8px;font-size:.9rem}.logo-recommendation h4{margin:0 0 8px;color:#2d3748;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:6px}.logo-recommendation p{margin:0 0 8px;color:#4a5568;font-weight:500}.logo-recommendation ul{margin:0 0 10px 20px;padding:0;color:#4a5568}.logo-recommendation li{margin-bottom:4px}.logo-recommendation li strong{color:#2d3748;font-weight:600}.logo-recommendation small{color:#718096;font-style:italic;display:block;margin-top:8px}.checkbox-row{display:flex;align-items:center;gap:8px;margin-top:12px;color:#4a5568}.checkbox-row input[type=checkbox]{width:16px;height:16px}.error-message{background:#fed7d7;color:#742a2a;padding:14px 18px;border-radius:8px;margin-bottom:25px;border:1px solid #feb2b2;font-weight:500;box-shadow:0 2px 8px #f871711a;width:100%;max-width:600px}.process-button{width:100%;max-width:600px;padding:16px 32px;background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4299e140;text-transform:none;letter-spacing:.5px;position:relative;overflow:hidden}.process-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.process-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4299e159}.process-button:hover:not(:disabled):before{left:100%}.process-button:disabled{background:linear-gradient(135deg,#a0aec0,#718096);cursor:not-allowed;transform:none;box-shadow:0 2px 8px #a0aec033}.loading{text-align:center;padding:30px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-top:25px;box-shadow:0 4px 20px #00000014;width:100%;max-width:600px}.spinner{border:4px solid rgba(66,153,225,.1);border-top:4px solid #4299e1;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{color:#4a5568;font-size:1rem;font-weight:500;margin:0}.results-section{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px;border-radius:12px;border:1px solid rgba(56,161,105,.2);margin-top:30px;box-shadow:0 4px 20px #00000014;width:100%;max-width:600px}.results-section h3{color:#2d3748;margin-top:0;margin-bottom:12px;font-size:1.3rem;font-weight:600}.results-section p{color:#4a5568;font-size:1rem;margin-bottom:20px}.results-list{margin-top:15px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-radius:8px;margin-bottom:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;transition:all .3s ease}.result-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014;border-color:#4299e1}.tray-info{font-weight:600;color:#2d3748;font-size:1rem}.download-button{padding:10px 20px;background:linear-gradient(135deg,#38a169,#2f855a);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.9rem;box-shadow:0 2px 8px #38a16940;text-transform:none;letter-spacing:.3px}.download-button:hover{background:linear-gradient(135deg,#2f855a,#276749);transform:translateY(-1px);box-shadow:0 4px 12px #38a16959}.results-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.download-all-button{padding:10px 16px;background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.9rem;box-shadow:0 2px 8px #4299e140}.download-all-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4299e159}@media (max-width: 768px){.pdf-processor{padding:30px 20px}.pdf-processor h2{font-size:1.8rem}.upload-section{padding:30px 25px}.result-item{flex-direction:column;text-align:center;gap:12px}.download-button{width:100%}}.cust-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cust-panel{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-width:95vw;max-height:95vh;overflow:hidden;box-shadow:0 20px 60px #00000040,0 0 0 1px #0000000f}.cust-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.cust-title{margin:0;font-size:1.05rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}.cust-header-actions{display:flex;gap:8px}.cust-btn{padding:7px 16px;font-size:.82rem;font-weight:600;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cust-btn:hover{background:#f1f5f9;border-color:#94a3b8}.cust-btn:disabled{opacity:.45;cursor:default}.cust-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.cust-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.cust-btn-danger-subtle{color:#dc2626;border-color:#fecaca}.cust-btn-danger-subtle:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.cust-btn-xs{padding:4px 10px;font-size:.72rem;border-radius:5px}.cust-toolbar{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;flex-wrap:wrap}.cust-tool-section{display:flex;align-items:center;gap:8px}.cust-tool-section-end{margin-left:auto}.cust-tool-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;white-space:nowrap}.cust-tool-group{display:inline-flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.cust-tool-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:.78rem;font-weight:600;color:#475569;background:transparent;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cust-tool-btn:not(:last-child){border-right:1px solid #e2e8f0}.cust-tool-btn:hover{background:#f1f5f9;color:#1e293b}.cust-tool-btn.active{background:#2563eb;color:#fff}.cust-tool-btn.active:hover{background:#1d4ed8}.cust-tool-btn-sm{padding:5px 8px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.cust-tool-btn-sm.active{border-color:#2563eb}.cust-color-group{display:flex;align-items:center;gap:6px}.cust-color-picker-wrap{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;position:relative}.cust-color-input{width:0;height:0;padding:0;border:none;opacity:0;position:absolute}.cust-color-swatch{display:block;width:22px;height:22px;border-radius:4px;border:1px solid #cbd5e1;cursor:pointer;flex-shrink:0}.cust-color-picker-wrap:hover .cust-color-swatch{border-color:#94a3b8}.cust-color-hex{font-size:.72rem;font-weight:600;font-family:SF Mono,Fira Code,monospace;color:#475569;-webkit-user-select:all;user-select:all}.cust-text-bar{display:flex;align-items:center;gap:16px;padding:8px 20px;border-bottom:1px solid #e2e8f0;background:#fefce8;flex-shrink:0;flex-wrap:wrap}.cust-select{padding:5px 10px;font-size:.8rem;font-weight:600;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#334155;cursor:pointer;min-width:130px}.cust-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.cust-range{width:90px;accent-color:#2563eb;cursor:pointer}.cust-number-input{width:50px;padding:4px 6px;font-size:.78rem;font-weight:600;border:1px solid #e2e8f0;border-radius:5px;text-align:center;color:#334155;background:#fff}.cust-number-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.cust-canvas-area{flex:1;overflow:auto;padding:20px;background:#f1f5f9;display:flex;justify-content:center;align-items:flex-start}.cust-canvas-wrap{position:relative;box-shadow:0 4px 24px #0000001f;border-radius:4px;overflow:hidden;line-height:0}.cust-canvas-wrap canvas{display:block;background:#fff}.cust-overlay{position:absolute;left:0;top:0;z-index:2}.cust-rect{position:absolute;box-sizing:border-box;pointer-events:auto;transition:box-shadow .12s ease}.cust-rect-fill{border:2px solid rgba(37,99,235,.6)}.cust-rect-fill.cust-rect-selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb40}.cust-rect-move{border:2px dashed #7c3aed;background:#7c3aed14!important}.cust-rect-move.cust-rect-selected{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed40}.cust-rect-draft{border:2px solid #2563eb;background:#2563eb1f}.cust-rect-badge{position:absolute;top:-1px;left:-1px;width:16px;height:16px;font-size:9px;font-weight:800;line-height:16px;text-align:center;border-radius:0 0 4px;color:#fff;pointer-events:none}.cust-rect-badge-fill{background:#2563eb}.cust-rect-badge-move{background:#7c3aed}.cust-move-preview{position:absolute;pointer-events:none;outline:2px solid #7c3aed;outline-offset:-1px;box-shadow:0 4px 16px #0003;border-radius:2px;opacity:.9}.cust-text-overlay{position:absolute;box-sizing:border-box;pointer-events:auto;cursor:move;border:1.5px solid transparent;border-radius:2px;transition:border-color .1s ease,box-shadow .1s ease;color:transparent!important;-webkit-user-select:none;user-select:none}.cust-text-overlay:hover{border-color:#d9770666}.cust-text-selected{border-color:#d97706!important;box-shadow:0 0 0 2px #d9770633;background:#d977060a}.cust-text-editor{padding:8px 20px 10px;border-top:1px solid #e2e8f0;background:#fffbeb;flex-shrink:0;display:flex;align-items:center;gap:10px}.cust-text-edit-input{flex:1;padding:7px 12px;font-size:.88rem;font-weight:500;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;transition:border-color .15s ease}.cust-text-edit-input:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 2px #d9770626}.cust-regions{padding:10px 20px 14px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;max-height:140px;overflow-y:auto}.cust-regions-title{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px}.cust-regions-list{display:flex;flex-direction:column;gap:3px}.cust-region-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;font-size:.75rem;color:#475569;cursor:pointer;transition:background .1s ease}.cust-region-item:hover{background:#e2e8f0}.cust-region-selected{background:#eff6ff;outline:1px solid #bfdbfe}.cust-region-color{width:12px;height:12px;border-radius:3px;border:1px solid #cbd5e1;flex-shrink:0}.cust-region-kind{font-weight:700;width:36px;flex-shrink:0}.cust-region-coords{font-family:SF Mono,Fira Code,monospace;font-size:.7rem;color:#64748b;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-region-remove{display:flex;align-items:center;justify-content:center;padding:3px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:4px;flex-shrink:0;transition:all .12s ease}.cust-region-remove:hover{background:#fef2f2;color:#dc2626}.cust-img-bar{display:flex;align-items:center;gap:16px;padding:8px 20px;border-bottom:1px solid #e2e8f0;background:#eff6ff;flex-shrink:0;flex-wrap:wrap}.cust-img-name{font-size:.78rem;font-weight:600;color:#334155;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-img-dims{font-size:.7rem;font-family:SF Mono,Fira Code,monospace;color:#64748b;white-space:nowrap}.cust-scale-pct{font-size:.72rem;font-weight:600;color:#64748b}.cust-number-input-wide{width:58px}.cust-img-overlay{position:absolute;box-sizing:border-box;pointer-events:auto;cursor:move;border:1.5px solid transparent;border-radius:2px;transition:border-color .1s ease,box-shadow .1s ease;-webkit-user-select:none;user-select:none}.cust-img-overlay:hover{border-color:#2563eb66}.cust-img-selected{border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb33}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#2d3748;overflow-x:hidden;background:#f5f7fa}html,body,#root{height:100%;margin:0;padding:0}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#a0aec01a}::-webkit-scrollbar-thumb{background:#a0aec04d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0aec080}
