.not-found{background:var(--colour-background);justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem;display:flex}.not-found-card{background:var(--colour-surface);text-align:center;border-radius:20px;width:100%;max-width:560px;padding:3rem;box-shadow:0 10px 30px #00000014}.not-found-icon{color:var(--colour-accent);margin-bottom:1rem;font-size:4rem}.not-found-code{color:var(--colour-primary);font-size:5rem;font-weight:800;line-height:1;display:block}.not-found h1{color:var(--colour-primary);margin:1rem 0;font-size:2rem}.not-found p{color:var(--colour-muted);margin-bottom:2rem;line-height:1.7}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.primary-btn{background:var(--colour-accent);color:#fff}.primary-btn:hover{opacity:.9}.secondary-btn{color:var(--colour-text);background:0 0;border:1px solid #d8dbe3}.secondary-btn:hover{background:#f5f6fb}@media (width<=600px){.not-found-card{padding:2rem}.not-found-code{font-size:4rem}.not-found h1{font-size:1.6rem}.not-found-actions{flex-direction:column}.primary-btn,.secondary-btn{justify-content:center;width:100%}}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0}.scan-page{text-align:center;max-width:480px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif}.scan-form{padding:20px}.scan-heading-wrapper{flex-direction:column;gap:4px;margin-bottom:25px;display:flex}.scan-heading-wrapper span{color:#77859b;font-size:.95rem}.scan-heading{color:#333;font-size:1.5rem}.scan-location-card{color:#77859b;background:#f0f3f7;border:1px solid #d1d5db;border-radius:12px;flex-direction:column;align-items:flex-start;margin-bottom:25px;display:flex}.scan-location-content{text-align:left;justify-content:flex-start;align-items:center;gap:16px;padding:16px;display:flex}.scan-location-details{flex-direction:column;gap:2px;display:flex}.scan-location-details span{font-size:.9rem}.scan-location-icon{background:#e8eaed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.scan-location-icon svg{color:#4b5563;width:20px;height:20px}.scan-location-heading{color:#333;font-size:1.05rem}.scan-rating-option-heading{color:#333;margin-bottom:12px;font-size:1.1rem;display:block}.scan-section-wrapper{text-align:left;margin-bottom:30px}.scan-rating-option{cursor:pointer;background-color:#0000;border:2px solid #0000;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px 8px;transition:background-color .2s,border-color .2s;display:flex}.scan-face-group{gap:16px;display:flex}.scan-rating-label{color:#4b5563;font-size:.85rem;font-weight:600;transition:color .2s}.scan-rating-options input[type=radio].sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scan-rating-face{color:#fff;border-radius:50%;place-items:center;width:66px;height:66px;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:inset 0 -4px 7px #0000001c,0 7px 15px #1422371a}.scan-rating-face svg{width:38px;height:38px}.scan-rating-option--good .scan-rating-face{background:linear-gradient(145deg,#24c680,#08a95f)}.scan-rating-option--neutral .scan-rating-face{background:linear-gradient(145deg,#ffbd1e,#f4a300)}.scan-rating-option--bad .scan-rating-face{background:linear-gradient(145deg,#f55,#e63535)}.scan-rating-option:hover .scan-rating-face{transform:scale(1.08)}.scan-rating-option:has(input:checked){background-color:#f8fafc}.scan-rating-option--good:has(input:checked){border-color:#08a95f}.scan-rating-option--good:has(input:checked) .scan-rating-label{color:#08a95f}.scan-rating-option--neutral:has(input:checked){border-color:#f4a300}.scan-rating-option--neutral:has(input:checked) .scan-rating-label{color:#d97706}.scan-rating-option--bad:has(input:checked){border-color:#e63535}.scan-rating-option--bad:has(input:checked) .scan-rating-label{color:#e63535}.scan-feedback-section{text-align:left;margin-bottom:30px}.scan-textarea-wrapper{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s;position:relative}.scan-textarea-wrapper:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}#scan-note{background:inherit;resize:none;width:100%;height:85px;color:var(--colour-primary,#111827);box-sizing:border-box;border:none;font-family:inherit;font-size:.95rem}#scan-note:focus{outline:none}.character-count{color:#77859b;font-size:.8rem;position:absolute;bottom:10px;right:14px}.upload-area{color:#77859b;background:#fff;border:2px dashed #d1d5db;border-radius:12px;justify-content:center;align-items:center;min-height:100px;margin-bottom:32px;transition:border-color .2s,background-color .2s;display:flex;position:relative}.upload-area:hover{border-color:var(--colour-accent,#2563eb);background-color:#fcfdff}#scan-image{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.add-photo-overlay{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.add-photo-overlay label{cursor:pointer;font-size:.9rem;font-weight:500}.sacn-camera-icon{color:#9ca3af;font-size:1.8rem}.image-preview{border:1px solid #d1d5db;border-radius:12px;position:relative;overflow:hidden}.image-preview img{object-cover:cover;width:100%;max-height:240px;display:block}.image-preview button{color:#dc2626;cursor:pointer;background:#ffffffe6;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:background-color .2s;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 4px #0000000d}.image-preview button:hover{background:#fff5f5}.image-preview button svg{width:14px;height:14px}.scan-btn .scan-primary-button:disabled{opacity:.6;cursor:not-allowed}.scan-anonymous-message{color:#77859b;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:.85rem;display:flex}.scan-anonymous-message svg{width:14px;height:14px}.scan-success{padding:40px 20px}.scan-success-icon{color:#065f46;background-color:#d1fae5;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:1.8rem;font-weight:700;display:grid}.scan-success h1{color:#111827;margin-bottom:8px;font-size:1.8rem}.scan-success p{color:#4b5563;margin-bottom:24px}.scan-success button{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-weight:600;transition:background-color .2s}.scan-success button:hover{background-color:#f9fafb}.scan-submited-time-info{border-top:1px solid #d1d5db;width:100%;margin-top:30px}.sacn-submited-time-text{color:#9ca3af;padding:15px;font-size:.8rem}.scan-action-container{flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.scan-btn{cursor:pointer;border:none;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:10px;padding:6px 12px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.scan-primary-btn{color:#fff;background:#1b5cf6}.scan-primary-btn:hover{background:#1147cb}.scan-secondary-btn{color:#157849;background:0 0;border:2px solid}.scan-secondary-btn:hover{color:#fff;background:#157849;box-shadow:0 10px 28px #0f2d5238}.scan-btn-text{text-align:center;flex:1;margin-right:auto}.scan-btn-icon{width:18px;height:18px}.scan-btn:hover{transform:translateY(-2px)}.scan-btn:focus-visible{outline-offset:4px;outline:3px solid #4ba3f273}.image-preview-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:16px;margin-bottom:32px;padding:12px;animation:.2s ease-out scanFadeIn;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.image-preview-thumbnail-wrapper{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.image-preview-thumbnail{object-fit:cover;width:100%;height:100%}.image-preview-fallback-icon{color:#9ca3af;font-size:1.25rem}.image-preview-details{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.image-preview-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.image-preview-status{color:#10b981;font-size:.75rem;font-weight:500}.image-preview-remove-btn{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.image-preview-remove-btn:hover{color:#b91c1c;background:#fee2e2;transform:translateY(-1px)}.image-preview-remove-btn svg{width:14px;height:14px}@keyframes scanFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.scan-error{color:#b91c1c;text-align:left;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem}.scan-btn:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important}
