@import url("https://fonts.googleapis.com/css2?family=Bungee&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");h1,h2,h3,h4,.card-title{font-family:'Bungee',sans-serif}body{background-color:#e3d5ba;color:#35435a;font-family:'Montserrat',sans-serif;font-weight:550;font-size:large;display:flex;flex-direction:column;min-height:100vh}#PinLab-Logo{height:60px;margin-right:10px;display:inline-block;vertical-align:middle;filter:invert(100%) sepia(0%) saturate(0%) hue-rotate(180deg) brightness(200%) contrast(100%)}.nav-wrapper{background-color:#6488a0}.brand-logo{margin-left:20px;color:#ffffff;font-family:'Bungee',sans-serif}.card-action{background-color:transparent!important;padding-bottom:20px!important;padding-left:20px!important}.btn{border-radius:50px;background-color:#882426!important}.form-container{margin:0 auto;padding:20px}.input-field{position:relative;width:100%}.input-field input{width:100%;padding:10px;font-size:16px;border:1px solid #434343;border-radius:4px;transition:border-color 0.3s}.input-field input:focus{border-bottom:1px solid #af0f0c!important;box-shadow:0 1px 0 0 #af0f0c!important}.input-field label{position:absolute;top:14px;left:12px;font-size:16px;color:#434343;transition:all 0.3s;pointer-events:none}.input-field input:focus+label,.input-field input:not(:placeholder-shown)+label{top:0;left:6px;color:#434343!important;padding:0 4px}.logo-container{display:flex;align-items:center}.site-footer{margin-top:auto;position:relative;background-image:url("/static/tsapinlab/images/graphics/torn-paper.svg?3c8393b34efc");background-repeat:no-repeat;background-position:top left;background-size:100% auto;height:auto;padding:20px;padding-top:5vw;text-align:center}.site-footer::after{content:'';position:absolute;top:110px;left:0;width:100%;height:calc(100% - 110px);background-color:#f0eade;z-index:-1}.footer-content{display:flex;align-items:center;justify-content:center;height:100%;width:70%;margin:0 auto}.footer-image{flex:6;max-width:250px;height:auto}.footer-text{flex:1;text-align:left}@media only screen and (max-width:768px){.site-footer{padding-top:80px;height:auto;background-size:200% auto}.footer-content{flex-direction:column;text-align:center;width:90%}.footer-image{margin-right:0;margin-bottom:10px}}.upload-container{max-width:680px;margin:40px auto 80px;padding:0 20px}.upload-container h4{font-family:'Bungee',sans-serif;color:#882426;margin-bottom:8px}.upload-container .subtitle{font-family:'Montserrat',sans-serif;color:#666;margin-bottom:28px;font-size:15px;line-height:1.5}.info-box{background:#fff8f0;border-left:4px solid #e67e22;padding:12px 16px;border-radius:0 6px 6px 0;font-family:'Montserrat',sans-serif;font-size:13px;color:#555;margin-bottom:28px;line-height:1.5}.info-box strong{color:#333}.drop-zone{border:2px dashed #bbb;border-radius:12px;background:#fafafa;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color 0.2s,background 0.2s;position:relative;user-select:none;-webkit-user-select:none}.drop-zone.dragover{border-color:#882426;background:#fff0f0}.drop-zone.has-image{border-color:#27ae60;background:#f0fff4;padding:16px 20px}.drop-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-zone-icon{font-size:48px;color:#bbb;margin-bottom:10px;transition:color 0.2s}.drop-zone.dragover .drop-zone-icon,.drop-zone.has-image .drop-zone-icon{color:#882426}.drop-zone-text{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:#555;margin-bottom:4px}.drop-zone-sub{font-family:'Montserrat',sans-serif;font-size:12px;color:#aaa}#image-preview{max-width:100%;max-height:260px;border-radius:8px;margin:12px auto 0;display:none;pointer-events:none;display:none}.drop-zone.has-image .drop-zone-text{color:#27ae60}.drop-zone.has-image .drop-zone-sub{color:#888}.change-hint{font-family:'Montserrat',sans-serif;font-size:11px;color:#aaa;margin-top:6px;display:none}.drop-zone.has-image .change-hint{display:block}.process-compare{display:none;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;background:#f5f5f5;border-radius:8px;padding:12px;border:1px solid #e0e0e0}.process-compare.visible{display:grid}.process-compare-item{text-align:center}.process-compare-item img{max-width:100%;max-height:140px;border-radius:6px;border:1px solid #ddd;background:white;object-fit:contain}.process-compare-item .pc-label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#999;margin-top:5px}.similar-pins{display:none;margin-top:10px;background:#f5f5f5;border-radius:8px;padding:12px;border:1px solid #e0e0e0}.similar-pins.visible{display:block}.similar-pins-label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#882426;margin-bottom:8px}.similar-pins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.similar-pin-item{text-align:center}.similar-pin-item img{max-width:100%;max-height:120px;border-radius:6px;border:1px solid #ddd;background:white;object-fit:contain}.similar-pin-item.best-match img{border-color:#882426;border-width:2px}.similar-pin-item .sp-label{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:600;color:#666;margin-top:4px;line-height:1.3}.similar-pin-item.best-match .sp-label{color:#882426}.upload-form .form-group{margin-bottom:20px}.upload-form label{display:block;font-weight:600;margin-bottom:6px;font-family:'Montserrat',sans-serif;color:#333;font-size:14px}.upload-form label .optional-badge{font-weight:400;color:#aaa;font-size:12px;margin-left:6px}.upload-form input[type="text"],.upload-form input[type="number"],.upload-form textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;font-family:'Montserrat',sans-serif;box-sizing:border-box;transition:border-color 0.2s;background:white}.upload-form input[type="text"]:focus,.upload-form input[type="number"]:focus,.upload-form textarea:focus{border-color:#882426;outline:none}.upload-form select{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;font-family:'Montserrat',sans-serif;box-sizing:border-box;background:white;appearance:auto;-webkit-appearance:auto;color:#333;cursor:pointer;display:block!important;height:auto!important;clip:unset!important;clip-path:unset!important;position:static!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important}.upload-form select:focus{border-color:#882426;outline:none}.upload-form .helptext{font-size:12px;color:#888;margin-top:5px;font-family:'Montserrat',sans-serif}.upload-form .errorlist{color:#c0392b;list-style:none;padding:0;margin:5px 0 0;font-size:13px;font-family:'Montserrat',sans-serif}.section-divider{border:none;border-top:1px solid #eee;margin:28px 0}.section-label{font-family:'Bungee',sans-serif;font-size:12px;color:#882426;letter-spacing:0.8px;margin-bottom:16px;text-transform:uppercase}.submit-btn{width:100%;background-color:#882426;color:white;border:none;padding:16px;font-size:16px;font-family:'Bungee',sans-serif;border-radius:8px;cursor:pointer;margin-top:12px;letter-spacing:0.5px}.submit-btn:hover{background-color:#a52a2a}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-family:'Montserrat',sans-serif;font-size:14px}.alert-error{background:#fdecea;color:#b71c1c;border-left:4px solid #c0392b}.alert-success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.g-recaptcha{margin-bottom:4px}@media (max-width:500px){.drop-zone{padding:32px 16px}.drop-zone-icon{font-size:40px}}.dup-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:9999;align-items:center;justify-content:center;padding:20px}.dup-overlay.active{display:flex}.dup-modal{background:white;border-radius:12px;max-width:520px;width:100%;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.25)}.dup-modal-header{background:#882426;padding:18px 24px;display:flex;align-items:center;gap:10px}.dup-modal-header h5{font-family:'Bungee',sans-serif;color:white;margin:0;font-size:16px}.dup-modal-header .material-icons{color:#ffcc00;font-size:22px}.dup-modal-body{padding:20px 24px}.dup-modal-body p{font-family:'Montserrat',sans-serif;font-size:14px;color:#444;margin-bottom:16px;line-height:1.5}.dup-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.dup-compare-item{text-align:center}.dup-compare-item img{width:100%;border-radius:8px;border:1px solid #e0e0e0;background:#f8f8f8;object-fit:contain;max-height:160px}.dup-compare-item .dup-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#888;margin-top:6px}.dup-compare-item .dup-meta{font-family:'Montserrat',sans-serif;font-size:12px;color:#555;margin-top:2px}.dup-actions{display:flex;gap:10px;flex-wrap:wrap}.dup-btn-cancel{flex:1;padding:12px;border:2px solid #882426;background:white;color:#882426;font-family:'Bungee',sans-serif;font-size:13px;border-radius:6px;cursor:pointer}.dup-btn-cancel:hover{background:#fdecea}.dup-btn-submit{flex:1;padding:12px;background:#882426;color:white;border:none;font-family:'Bungee',sans-serif;font-size:13px;border-radius:6px;cursor:pointer}.dup-btn-submit:hover{background:#a52a2a}.drop-zone.checking{border-color:#e67e22;background:#fff8f0}.drop-zone.checking .drop-zone-icon i{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.check-badge{display:none;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;margin-top:8px}.check-badge.ok{display:inline-block;background:#d4edda;color:#155724}.check-badge.warn{display:inline-block;background:#fdecea;color:#882426}