body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overscroll-behavior:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow:hidden}#root,body,html{height:100%;width:100%}.App{display:flex;width:100vw}.App,.map-container{height:100vh;position:relative}.map-container{flex:1 1;overflow:hidden;width:100%}.map-container .language-switcher{left:20px;position:absolute;top:78px;z-index:1000}.report-info-window{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:250px}.report-info-window h3{border-bottom:1px solid #eee;font-weight:600;padding-bottom:4px}.report-info-window p{line-height:1.4}.map-placeholder{align-items:center;background-color:#f5f5f5;color:#333;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.map-placeholder h2{color:#2c3e50;margin-bottom:1rem}.map-placeholder p{line-height:1.5;margin-bottom:.5rem}.map-placeholder code{background-color:#e8e8e8;border-radius:3px;font-family:Courier New,monospace;padding:.2rem .4rem}.map-loading{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.loading-spinner{border:4px solid #f3f3f3;margin-bottom:1rem}.map-loading p{color:#666;font-size:1rem}.map-container *{box-sizing:border-box}@media (max-width:480px){.map-container .language-switcher{left:15px;top:66px}}.login-button{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #00000026;color:#333;cursor:pointer;display:flex;height:48px;justify-content:center;left:20px;overflow:hidden;position:absolute;top:20px;transition:all .2s ease;width:48px;z-index:1000}.login-button:hover{background-color:#f8f9fa;box-shadow:0 4px 15px #0003;transform:translateY(-1px)}.login-button:active{box-shadow:0 2px 8px #00000026;transform:translateY(0)}.login-button svg{transition:transform .2s ease}.login-button:hover svg{transform:scale(1.1)}.avatar-button-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-button-placeholder{align-items:center;background:linear-gradient(45deg,#cce779,#a3bf61);border-radius:50%;color:#373b44;display:flex;font-size:18px;font-weight:600;height:100%;justify-content:center;width:100%}@media (max-width:480px){.login-button{height:44px;left:15px;top:15px;width:44px}.login-button svg{height:18px;width:18px}.avatar-button-placeholder{font-size:16px}}.auth-popup-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.auth-popup{animation:authPopupSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;max-width:400px;overflow:hidden;position:relative;width:90%}@keyframes authPopupSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-popup-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s ease;width:30px;z-index:1}.auth-popup-close:hover{background-color:#f0f0f0;color:#333}.auth-popup-tabs{border-bottom:1px solid #e0e0e0;display:flex}.auth-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:16px;transition:all .2s ease}.auth-tab.active{border-bottom-color:#a3bf61;color:#a3bf61}.auth-tab:hover{background-color:#f8f9fa}.auth-form{display:flex;flex-direction:column;gap:16px;padding:24px}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;padding:12px 16px;transition:border-color .2s ease}.auth-form input[type=email]:focus,.auth-form input[type=password]:focus,.auth-form input[type=text]:focus{border-color:#a3bf61;box-shadow:0 0 0 3px #a3bf611a}.auth-form input:disabled{background-color:#f5f5f5;cursor:not-allowed}.auth-checkbox{align-items:center;color:#666;cursor:pointer;display:flex;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.auth-checkbox input[type=checkbox]{accent-color:#a3bf61;height:16px;width:16px}.auth-submit{background-color:#cce779;border:none;border-radius:8px;color:#373b44;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:12px 24px;transition:all .2s ease}.auth-submit:hover:not(:disabled){background-color:#a3bf61}.auth-submit:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.6}.auth-error{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#e74c3c;font-size:14px;margin:0 24px;padding:12px 16px}@media (max-width:480px){.auth-popup{margin:20px;width:95%}.auth-form{padding:20px}.auth-tab{font-size:14px;padding:14px}}.user-panel-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.user-panel{animation:userPanelSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-height:90vh;max-width:480px;overflow-y:auto;width:90%}@keyframes userPanelSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.user-panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.user-panel-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.header-actions{gap:8px}.edit-button,.header-actions{align-items:center;display:flex}.edit-button{background:none;border:none;border-radius:4px;cursor:pointer;justify-content:center;padding:6px 8px;transition:all .2s ease}.edit-button:hover{background-color:#e0e0e0}.edit-icon{height:20px;object-fit:contain;width:20px}.close-button{color:#666}.close-button:hover{background-color:#e0e0e0;color:#333}.user-panel-content{padding:24px}.user-avatar-section{align-items:center;display:flex;flex-direction:column;margin-bottom:24px}.user-avatar-large{border-radius:50%;box-shadow:0 4px 12px #00000026;height:100px;margin-bottom:12px;overflow:hidden;position:relative;transition:all .2s ease;width:100px}.user-avatar-large.editable{cursor:pointer}.user-avatar-large.editable:hover{box-shadow:0 6px 16px #0003;transform:scale(1.05)}.avatar-edit-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.user-avatar-large.editable:hover .avatar-edit-overlay{opacity:1}.camera-icon{filter:brightness(0) invert(1);height:36px;object-fit:contain;width:36px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#cce779,#a3bf61);color:#373b44;display:flex;font-size:40px;font-weight:600;height:100%;justify-content:center;width:100%}.edit-avatar-hint{color:#7f8c8d;font-size:12px;margin-bottom:12px;margin-top:-8px}.user-nickname{color:#252830;font-size:24px;font-weight:700;margin:0;text-align:center}.user-fullname{color:#666;font-size:16px;font-weight:500;margin:4px 0 0;text-align:center}.user-details{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.detail-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 0}.detail-item:last-child{border-bottom:none}.detail-label{color:#666;font-weight:500}.detail-value{color:#333;font-weight:600;text-align:right}.detail-value.coins{display:flex;font-size:18px;font-weight:700;gap:6px;justify-content:flex-end}.coin-icon{height:20px;object-fit:contain;width:20px}.user-edit-form{gap:16px}.form-group,.user-edit-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#555;font-size:13px;font-weight:600}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-group input:focus{border-color:#a3bf61;box-shadow:0 0 0 3px #a3bf611a;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.checkbox-group{align-items:center;flex-direction:row}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin:0 5px 0 0;width:18px}.link-button{background:none;border:none;color:#a3bf61;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;text-align:left;transition:color .2s ease}.link-button:hover{color:#8fa850;text-decoration:underline}.form-actions{display:flex;gap:12px;margin-top:8px}.cancel-button{background-color:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px;transition:all .2s ease}.cancel-button:hover{background-color:#d0d0d0}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.submit-button{background-color:#cce779;border:none;border-radius:8px;color:#373b44;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px;transition:all .2s ease}.submit-button.active:hover{background-color:#a3bf61}.submit-button.disabled,.submit-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.danger-zone{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px}.logout-button-secondary{background-color:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:background-color .2s ease;width:100%}.logout-button-secondary:hover{background-color:#c0392b}.logout-button-secondary:disabled{cursor:not-allowed;opacity:.5}.delete-button{background:none;border:none;border-radius:8px;color:#e74c3c;cursor:pointer;font-size:15px;font-weight:600;padding:12px;text-align:left;transition:all .2s ease;width:100%}.delete-button:hover{background-color:#e74c3c1a}.delete-button:disabled{cursor:not-allowed;opacity:.5}.delete-confirm{background:#fff5f5;border:1px solid #f8d7da;border-radius:8px;padding:16px}.delete-warning{color:#e74c3c;font-size:13px;font-weight:600;margin:0 0 12px}.delete-confirm input{border:1px solid #e74c3c;border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:12px;padding:10px 12px;width:100%}.delete-confirm input:focus{box-shadow:0 0 0 3px #e74c3c33;outline:none}.delete-confirm-actions{display:flex;gap:8px}.delete-confirm-actions .cancel-button,.delete-confirm-actions .delete-button{flex:1 1;text-align:center}.delete-confirm-actions .delete-button{background-color:#e74c3c;color:#fff}.delete-confirm-actions .delete-button:hover:not(:disabled){background-color:#c0392b}.user-actions{border-top:1px solid #e0e0e0;padding-top:16px}.logout-button{background-color:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-width:140px;padding:12px 32px;transition:background-color .2s ease}.logout-button:hover{background-color:#c0392b}.logout-button:active{transform:translateY(1px)}.user-view-panel{max-width:400px}.user-actions{display:flex;justify-content:center;padding:16px 0 0}.view-contributions-button{background:#373b44;border:none;border-radius:8px;box-shadow:0 4px 6px #373b444d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.view-contributions-button:hover{box-shadow:0 6px 12px #373b4466;transform:translateY(-2px)}.view-contributions-button:active{transform:translateY(0)}@media (max-width:768px){.user-panel-overlay{align-items:stretch;padding:0}.user-panel{border-radius:0;height:100vh;height:100dvh;margin:0;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.user-panel-header{border-radius:0;padding:16px 20px}.user-panel-header h3{font-size:18px}.user-panel-content{padding:20px 16px}.user-avatar-large{height:90px;width:90px}.avatar-placeholder{font-size:36px}.user-nickname{font-size:22px}.form-actions{flex-direction:column}.cancel-button,.submit-button{padding:14px;width:100%}.delete-confirm-actions{flex-direction:column}}.language-switcher{position:relative;text-align:left;z-index:1000}.language-switcher-btn{align-items:center;box-shadow:0 1px 3px #0000000f;color:#555;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:4px 8px;text-decoration:none;transition:all .2s}.language-switcher-btn:hover{box-shadow:0 2px 4px #0000001a;color:#333}.language-flag{font-size:16px;line-height:1}.language-code{color:inherit;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.language-menu-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.language-menu{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 3px 10px #00000026;left:0;min-width:150px;overflow:hidden;position:absolute;top:calc(100% + 5px);z-index:1001}.language-menu-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:8px;padding:8px 12px;text-align:left;transition:background .15s;width:100%}.language-menu-item:last-child{border-bottom:none}.language-menu-item:hover{background:#f5f5f5}.language-menu-item.active{background:#e8f4f8}.language-name{color:#333;flex:1 1;font-size:13px;font-weight:400}.language-menu-item .checkmark{color:#4caf50;font-size:14px;font-weight:700}@media (max-width:768px){.language-switcher-btn{font-size:11px;padding:3px 6px}.language-flag{font-size:14px}.language-code{font-size:10px}.language-menu{min-width:140px}.language-menu-item{padding:8px 10px}.language-name{font-size:12px}}.map{height:100%;position:absolute;transition:opacity .3s ease-in-out;width:100%}.map-loading{opacity:0}.map-loaded{opacity:1}.reports-status{background:#ffffffe6;border-radius:4px;box-shadow:0 2px 4px #0000001a;font-size:14px;left:80px;padding:8px 12px;position:absolute;top:10px;z-index:1000}.reports-status p{color:#333;margin:0}.reports-status .error-text{color:red}.panel-header{background:#fff;gap:12px;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.panel-title{flex:1 1;min-width:0}.panel-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.image-type-toggle{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:25px;box-shadow:inset 0 1px 3px #0000001a;display:flex;gap:2px;min-height:40px;overflow:hidden;padding:4px;position:relative}.toggle-btn{background:#0000;border:none;border-radius:20px;color:#6c757d;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;margin:0 1px;padding:8px 14px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:2}.toggle-btn:hover{color:#495057}.toggle-btn.active{color:#fff;font-weight:700;margin:0;transform:scale(1.01)}.toggle-btn:first-child.active{background:linear-gradient(135deg,#a3bf61,#8fa850);border-radius:20px;box-shadow:0 3px 12px #a3bf6166,inset 0 1px 2px #fff3}.toggle-btn:first-child:hover:not(.active){background:#a3bf611a;color:#a3bf61}.toggle-btn:last-child.active{background:linear-gradient(135deg,#ff5353,#e63939);border-radius:20px;box-shadow:0 3px 12px #ff535366,inset 0 1px 2px #fff3}.toggle-btn:last-child:hover:not(.active){background:#ff53531a;color:#ff5353}@media (max-width:768px){.panel-header{gap:8px;padding:12px}.toggle-btn{font-size:11px;padding:6px 10px}}.pollution-amount-badge{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:inline-flex;font-size:14px;gap:8px;padding:4px 8px}.badge-amount{color:#2c3e50;font-size:16px;font-weight:600}.badge-icon{height:24px;object-fit:contain;width:24px}.badge-label{color:#7f8c8d;font-size:13px;font-weight:500}.trash-types-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.trash-type-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .2s ease}.trash-type-item:hover{background:#e9ecef;border-color:#ced4da}.trash-type-label{color:#495057}.cleanup-page-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.cleanup-page{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.cleanup-page-header{align-items:center;background:linear-gradient(135deg,#cce779,#a3bf61);border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.cleanup-page-header h2{color:#373b44;font-size:24px;font-weight:600;margin:0}.cleanup-page-close{align-items:center;background:none;border:none;border-radius:50%;color:#373b44;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background-color .2s ease;width:32px}.cleanup-page-close:hover{background:#373b441a}.cleanup-page-content{flex:1 1;overflow-y:auto;padding:24px}.cleanup-images-section{margin-bottom:24px}.cleanup-image-preview{border:2px solid #e0e0e0;border-radius:8px;max-height:400px;object-fit:cover;width:100%}.cleanup-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cleanup-images-grid .cleanup-image-preview{height:150px;object-fit:cover;width:100%}.no-images{border:2px dashed #ddd;border-radius:8px;color:#999;padding:40px;text-align:center}.cleanup-section{margin-bottom:24px}.cleanup-label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.cleanup-textarea{border:1px solid #d0d0d0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.cleanup-textarea:focus{border-color:#a3bf61;box-shadow:0 0 0 3px #a3bf611a;outline:none}.cleaner-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.cleaner-option{background:#fff;border:2px solid #d0d0d0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.cleaner-option:hover:not(:disabled){background:#f5fae4;border-color:#a3bf61}.cleaner-option.active{background:linear-gradient(135deg,#cce779,#a3bf61);border-color:#a3bf61;color:#373b44;font-weight:600}.cleaner-option:disabled{cursor:not-allowed;opacity:.5}.amount-display{background:#f8f9fa;border-radius:8px;gap:12px;margin-bottom:12px;padding:12px}.amount-icon{height:40px;object-fit:contain;width:40px}.amount-value{font-size:24px;font-weight:600}.amount-slider{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:4px;height:8px;outline:none;width:100%}.amount-slider::-webkit-slider-track{background:linear-gradient(90deg,#cce779 0,#a3bf61);border-radius:4px;height:8px;width:100%}.amount-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#373b44;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:24px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:24px}.amount-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.amount-slider::-moz-range-track{background:linear-gradient(90deg,#cce779 0,#a3bf61);border-radius:4px;height:8px;width:100%}.amount-slider::-moz-range-thumb{background:#373b44;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:24px;-moz-transition:transform .2s ease;transition:transform .2s ease;width:24px}.amount-slider::-moz-range-thumb:hover{transform:scale(1.1)}.amount-slider:disabled{cursor:not-allowed;opacity:.5}.rules-checkbox{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:14px;gap:8px}.rules-checkbox input[type=checkbox]{accent-color:#a3bf61;cursor:pointer;height:18px;width:18px}.rules-link{color:#a3bf61;font-weight:500;text-decoration:none}.rules-link:hover{text-decoration:underline}.cleanup-submit-btn{background:#373b44;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s ease;width:100%}.cleanup-submit-btn:hover:not(:disabled){background:#2c3035;box-shadow:0 4px 8px #373b444d;transform:translateY(-1px)}.cleanup-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.cleanup-page-overlay{background:#0000}.cleanup-page{border-radius:0;bottom:0;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;max-width:100%;right:0;top:0;transform:none;width:100%}.cleanup-page-header{padding:16px 20px}.cleanup-page-header h2{font-size:20px}.cleanup-page-content{padding:16px}.cleanup-section{margin-bottom:20px}.cleanup-label{font-size:15px}.cleanup-images-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cleanup-images-grid .cleanup-image-preview{height:120px}.cleaner-options{gap:10px;grid-template-columns:1fr}.cleaner-option{font-size:15px;padding:14px}.cleanup-submit-btn{font-size:15px;padding:16px 24px}}.photo-dialog-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.photo-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:16px 16px 0 0;max-width:500px;padding:20px;width:100%}.photo-dialog-title{color:#252830;font-size:20px;font-weight:600;margin:0 0 20px;text-align:center}.photo-dialog-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.photo-option-button{align-items:center;background:#f8f9fa;border:none;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;transition:all .2s ease}.photo-option-button:hover{background:#e9ecef}.photo-option-button:active{transform:scale(.98)}.photo-option-icon{height:24px;object-fit:contain;width:24px}.photo-option-text{color:#252830;font-size:16px;font-weight:500}.photo-dialog-cancel{background:none;border:1px solid #d0d0d0;border-radius:12px;color:#666;cursor:pointer;font-size:16px;font-weight:500;padding:14px;transition:all .2s ease;width:100%}.photo-dialog-cancel:hover{background:#f8f9fa;border-color:#999}@media (min-width:769px){.photo-dialog-overlay{align-items:center}.photo-dialog{border-radius:16px;max-width:400px}}.location-picker-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:11000}.location-picker-modal{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:800px;overflow:hidden;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.location-picker-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.location-picker-header h3{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.location-picker-close{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.location-picker-close:hover{background:#e0e0e0;color:#2c3e50}.location-picker-instructions{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 24px}.location-picker-instructions p{color:#666;font-size:14px;margin:0}.selected-coords{color:#a3bf61!important;font-family:monospace;font-weight:600;margin-top:8px!important}.location-picker-map{flex:1 1;overflow:hidden;position:relative}.location-picker-loading{align-items:center;color:#666;display:flex;height:400px;justify-content:center}.location-picker-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;padding:20px 24px}.location-picker-cancel,.location-picker-done{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.location-picker-cancel{background:#fff;border:2px solid #d0d0d0;color:#666}.location-picker-cancel:hover{background:#f8f9fa;border-color:#999}.location-picker-done{background:#a3bf61;box-shadow:0 4px 12px #a3bf614d;color:#fff}.location-picker-done:hover:not(:disabled){background:#8fa850;box-shadow:0 6px 16px #a3bf6166;transform:translateY(-2px)}.location-picker-done:active:not(:disabled){transform:translateY(0)}.location-picker-done:disabled{cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.location-picker-overlay{padding:0}.location-picker-modal{border-radius:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.location-picker-header{padding:16px}.location-picker-header h3{font-size:18px}.location-picker-instructions{padding:12px 16px}.location-picker-footer{padding:16px}.location-picker-cancel,.location-picker-done{font-size:15px;padding:16px 24px;width:100%}}.image-editor{margin-bottom:20px;width:100%}.images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.image-item{aspect-ratio:1;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;position:relative}.image-preview{height:100%;object-fit:cover;width:100%}.image-overlay{background:#00000080;transition:opacity .2s ease}.image-item:hover .image-overlay{opacity:1;pointer-events:auto}.image-actions{display:flex;gap:8px}.image-action-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.image-action-btn:hover:not(:disabled){box-shadow:0 2px 8px #0003;transform:scale(1.1)}.image-action-btn:disabled{cursor:not-allowed;opacity:.5}.image-action-btn.delete-btn{background:#ff5353;color:#fff;font-size:28px;line-height:1}.image-action-btn.delete-btn:hover:not(:disabled){background:#e63939}.main-badge{background:#a3bf61;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;font-size:11px;font-weight:600;left:8px;letter-spacing:.5px;padding:4px 8px;position:absolute;text-transform:uppercase;top:8px}.add-image-btn{align-items:center;aspect-ratio:1;background:#f5fae4;border:2px dashed #a3bf61;border-radius:8px;cursor:pointer;display:flex;justify-content:center;transition:all .2s ease}.add-image-btn:hover{background:#e8f5d0;border-color:#8fa850;transform:scale(1.02)}.add-image-content{align-items:center;color:#a3bf61;display:flex;flex-direction:column;gap:8px}.add-icon{font-size:36px;font-weight:300;line-height:1}.add-text{font-size:12px;font-weight:500}.edit-dialog-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.edit-dialog{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:2001}.edit-dialog-header{align-items:center;background:linear-gradient(135deg,#cce779,#a3bf61);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:16px 20px}.edit-dialog-header h2{color:#373b44;font-size:20px;font-weight:600;margin:0}.edit-dialog-close{align-items:center;background:none;border:none;color:#373b44;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:opacity .2s ease;width:32px}.edit-dialog-close:hover{opacity:.7}.edit-dialog-content{flex:1 1;overflow-y:auto;padding:20px}.edit-section{margin-bottom:24px}.edit-section:last-child{margin-bottom:0}.edit-label{align-items:center;color:#2c3e50;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:8px}.pollution-level-display{gap:8px}.pollution-level-icon{height:24px;object-fit:contain;width:24px}.location-display{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.location-text{flex:1 1}.location-name{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.location-coords{color:#7f8c8d;font-size:12px}.change-location-btn{background:#a3bf61;border:none;color:#fff;font-size:14px;font-weight:500;white-space:nowrap}.change-location-btn:hover{background:#8fa850;transform:translateY(-1px)}.edit-textarea{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.edit-textarea:focus{border-color:#a3bf61;box-shadow:0 0 0 3px #a3bf611a;outline:none}.options-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.option-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:all .2s ease}.option-btn:hover{background:#f5fae4;border-color:#a3bf61}.option-btn.active{background:linear-gradient(135deg,#cce779,#a3bf61);border-color:#a3bf61;color:#373b44}.pollution-slider{background:#e0e0e0;border-radius:3px;height:6px}.pollution-slider::-webkit-slider-thumb{background:#a3bf61;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.pollution-slider::-webkit-slider-thumb:hover{box-shadow:0 2px 8px #a3bf6166;transform:scale(1.2)}.pollution-slider::-moz-range-thumb{background:#a3bf61;border:none;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.pollution-slider::-moz-range-thumb:hover{box-shadow:0 2px 8px #a3bf6166;transform:scale(1.2)}.slider-labels{color:#7f8c8d;display:flex;font-size:12px;justify-content:space-between;margin-top:8px}.trash-types-grid{grid-gap:8px;gap:8px;grid-template-columns:repeat(2,1fr)}.trash-type-btn{background:#fff;border-radius:8px;color:#2c3e50;font-size:14px;font-weight:500;padding:12px}.trash-type-btn:hover{background:#f5fae4;border-color:#a3bf61}.trash-type-btn.active{color:#373b44}.trash-type-icon{height:24px;width:24px}.edit-dialog-footer{align-items:center;background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;justify-content:space-between;padding:16px 20px}.edit-dialog-footer,.footer-left,.footer-right{display:flex;gap:12px}.edit-cancel-btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.edit-cancel-btn:hover{background:#f8f9fa;border-color:#bdc3c7}.edit-submit-btn{background:#373b44;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.edit-submit-btn:hover:not(:disabled){background:#2a2d35;box-shadow:0 4px 8px #373b444d;transform:translateY(-1px)}.edit-submit-btn:disabled{cursor:not-allowed;opacity:.5}.edit-delete-btn{background:#ff5353;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.edit-delete-btn:hover:not(:disabled){background:#e63939;box-shadow:0 4px 8px #ff53534d;transform:translateY(-1px)}.edit-delete-btn:disabled{cursor:not-allowed;opacity:.5}.images-readonly{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.readonly-image{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:8px;object-fit:cover;width:100%}@media (max-width:768px){.edit-dialog-overlay{background:#0000}.edit-dialog{border-radius:0;bottom:0;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;max-width:100%;right:0;top:0;transform:none;width:100%}.edit-dialog-header{border-radius:0;padding:16px 20px}.edit-dialog-header h2{font-size:18px}.edit-dialog-content{padding:16px}.edit-section{margin-bottom:20px}.edit-label{font-size:15px}.options-grid{gap:10px}.options-grid,.trash-types-grid{grid-template-columns:1fr}.edit-dialog-footer{border-radius:0;flex-direction:column;gap:10px;padding:16px 20px}.footer-left,.footer-right{flex-direction:column;width:100%}.edit-cancel-btn,.edit-delete-btn,.edit-submit-btn{font-size:15px;padding:14px 20px;width:100%}.images-readonly{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.edit-cleanup-dialog{max-width:500px}.admin-info-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:13px;margin-top:16px;padding:12px}.admin-info-message strong{display:block;font-weight:600;margin-bottom:4px}.amount-display{align-items:center;display:flex;gap:8px}.amount-value{color:#2c3e50;font-size:20px;font-weight:500}.report-details-panel{background:#fff;border:1px solid #e0e0e0;border-radius:12px;bottom:10px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;height:auto;left:10px;max-height:90vh;min-height:350px;overflow:hidden;position:fixed;right:420px;transition:height .3s ease;z-index:1000}.panel-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;flex-shrink:0;justify-content:space-between;padding:4px 16px}.panel-header,.panel-title{align-items:center;display:flex}.panel-title{gap:8px}.status-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.panel-title h2{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.close-button{border-radius:4px;color:#7f8c8d;padding:4px 8px}.close-button:hover{background:#e0e0e0}.panel-content{flex:1 1}.image-section,.panel-content{display:flex;min-height:0;overflow:visible}.image-section{background:#f8f9fa;border-right:1px solid #e0e0e0;flex:0 0 300px;flex-direction:column;gap:12px;justify-content:flex-start;padding:12px}.cleaned-images-container,.report-images-container{display:flex;flex:1 1;flex-direction:column;min-height:0}.cleaned-images-container:not(:last-child),.report-images-container:not(:last-child){margin-bottom:12px}.carousel-label{background:#ffffffb3;border-radius:4px;color:#2c3e50;font-size:14px;font-weight:600;margin-bottom:6px;padding:3px 6px;text-align:center}.report-images-container .carousel-label{background:#ff53531a;color:#ff5353}.cleaned-images-container .carousel-label{background:#a3bf611a;color:#a3bf61}.image-section .unified-image-carousel{flex:0 0 auto;justify-content:flex-start;min-height:auto;width:100%}.no-image-placeholder{color:#95a5a6;flex-direction:column;height:120px;text-align:center}.no-image-placeholder p{font-size:14px;margin:8px 0 0}.details-section{background:#fff;flex:1 1;min-height:0;overflow-y:auto;padding:16px}.detail-row{align-items:center;display:flex;gap:12px;margin-bottom:6px}.detail-label{color:#2c3e50;flex-shrink:0;font-size:14px;font-weight:600;min-width:120px}.detail-value{color:#34495e;flex:1 1;font-size:14px;word-break:break-word}.detail-value-button{background:none;border:none;color:#a3bf61;cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:0;text-align:right;transition:color .2s ease}.detail-value-button:hover{color:#8fa850;text-decoration:underline}.cleanup-separator{align-items:center;color:#7f8c8d;display:flex;font-size:12px;font-weight:600;position:relative;text-transform:uppercase}.cleanup-separator hr{background:#e0e0e0;border:none;flex:1 1;height:1px;margin:0 12px}.separator-edit-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;margin-left:8px;opacity:.6;padding:4px 8px;transition:opacity .2s ease}.separator-edit-btn:hover{opacity:1}.separator-edit-icon{height:18px;object-fit:contain;width:18px}.report-details-panel{animation:fadeInScale .3s ease-out}@media (max-width:1200px){.report-details-panel{max-height:85vh;min-height:360px;right:320px}}@media (max-width:768px){.report-details-panel{border:none;border-radius:0;bottom:0;box-shadow:none;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;min-height:100vh;min-height:100dvh;right:0;top:0}.panel-header{border-radius:0;padding:16px}.panel-content{flex-direction:column;overflow-y:auto}.image-section{border-bottom:1px solid #e0e0e0;border-right:none;flex:0 0 auto;height:auto;min-height:280px;overflow:visible;padding:16px}.details-section{padding:16px}}.admin-features-section{background:#fff5f0;border:2px solid orange;border-radius:8px;padding:4px 8px}.admin-label{color:orange;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.admin-buttons-row{display:flex;gap:8px;margin-bottom:8px}.admin-action-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;max-width:250px;padding:12px 16px;transition:all .2s ease}.decline-btn{background:#ff5353;color:#fff}.decline-btn:hover{background:#e63939;box-shadow:0 4px 8px #ff53534d;transform:translateY(-1px)}.accept-btn{background:#a3bf61;color:#fff}.accept-btn:hover{background:#8fa850;box-shadow:0 4px 8px #a3bf614d;transform:translateY(-1px)}.edit-btn{background:orange;color:#fff;width:100%}.edit-btn:hover{background:#cc8400;box-shadow:0 4px 8px #ffa5004d;transform:translateY(-1px)}.admin-action-btn:active{transform:translateY(0)}.cleanup-actions-section{border-top:1px solid #e0e0e0;margin-top:5px;padding-top:5px}.mark-cleaned-button{align-items:center;background:#a3bf61;border:none;border-radius:8px;box-shadow:0 2px 4px #a3bf6133;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;max-width:250px;padding:14px 20px;transition:all .2s ease;width:100%}.mark-cleaned-button:hover{background:#8fa850;box-shadow:0 4px 8px #a3bf614d;transform:translateY(-1px)}.cleanup-action-icon{height:20px;object-fit:contain;width:20px}.image-carousel{height:100%}.image-carousel,.unified-image-carousel{display:flex;flex-direction:column;gap:12px;-webkit-user-select:none;user-select:none}.unified-image-carousel{height:auto;justify-content:flex-start;min-height:200px;overflow:visible;transition:all .3s ease}.unified-image-carousel.has-thumbnails{min-height:280px}.carousel-main-image{background:#f8f9fa;border-radius:8px;flex:0 0 auto;height:200px;overflow:hidden;position:relative;transition:opacity .3s ease}.carousel-main-image.switching{opacity:.7}.carousel-image-container{border-radius:8px;cursor:pointer;height:100%;overflow:hidden;position:relative;width:100%}.carousel-image-container .report-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.carousel-image-container:hover .report-image{transform:scale(1.05)}.image-overlay{align-items:center;background:#0000001a;bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.carousel-image-container:hover .image-overlay{opacity:1}.expand-icon{border-radius:50%;height:50px;width:50px}.carousel-nav,.expand-icon{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;color:#fff;display:flex;font-size:24px;justify-content:center}.carousel-nav{border:none;border-radius:50%;cursor:pointer;height:40px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}.carousel-nav:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.image-counter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:12px;bottom:10px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;position:absolute;right:10px}.carousel-thumbnails.switching{opacity:.7;transform:translateY(-5px)}.carousel-thumbnails.entering{opacity:0;transform:translateY(10px)}.carousel-thumbnails.entering.active{opacity:1;transform:translateY(0)}.carousel-thumbnails{display:flex;flex-shrink:0;gap:8px;min-height:45px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth;scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.carousel-thumbnails::-webkit-scrollbar{height:4px}.carousel-thumbnails::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.carousel-thumbnails::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.carousel-thumbnails::-webkit-scrollbar-thumb:hover{background:#a0aec0}.thumbnail{border:none;border-radius:4px;cursor:pointer;flex-shrink:0;height:45px;opacity:.6;overflow:hidden;position:relative;transition:all .3s ease;width:60px}.thumbnail:hover{opacity:.8;transform:scale(1.05)}.thumbnail.active{border:2px solid #4299e1;opacity:1;transform:scale(1.1)}.thumbnail img{height:100%;object-fit:cover;width:100%}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.lightbox-content{cursor:default;max-height:90vh;max-width:90vw;position:relative}.lightbox-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:0;top:-40px;transition:all .3s ease;width:40px;z-index:10}.lightbox-close:hover{background:#ffffff1a}.lightbox-image-container{align-items:center;display:flex;justify-content:center;position:relative}.lightbox-image{border-radius:8px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:100%;object-fit:contain}.lightbox-nav{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.lightbox-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.lightbox-nav.prev{left:-70px}.lightbox-nav.next{right:-70px}.lightbox-counter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:20px;bottom:-40px;color:#fff;font-size:14px;font-weight:500;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%)}@media (max-width:768px){.unified-image-carousel{gap:8px;min-height:180px}.unified-image-carousel.has-thumbnails{min-height:240px}.carousel-main-image{height:180px}.carousel-nav{font-size:20px;height:35px;width:35px}.carousel-nav.prev{left:5px}.carousel-nav.next{right:5px}.image-counter{bottom:5px;font-size:11px;right:5px}.thumbnail{height:38px;width:50px}.lightbox-nav{font-size:28px;height:45px;width:45px}.lightbox-nav.prev{left:-55px}.lightbox-nav.next{right:-55px}.lightbox-close{font-size:28px;top:-35px}}@media (max-width:480px){.unified-image-carousel{gap:6px;min-height:160px}.unified-image-carousel.has-thumbnails{min-height:220px}.carousel-main-image{height:160px}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-close{right:10px;top:10px}.lightbox-counter{bottom:10px;left:50%;position:fixed;transform:translateX(-50%)}}.reports-list-item{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;margin-bottom:12px;overflow:hidden;transition:all .2s ease}.reports-list-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.reports-list-item.selected{background:#f5fae4;border:2px solid #a3bf61;box-shadow:0 4px 12px #a3bf614d}.reports-list-item.selected .item-status-indicator{width:6px}.item-status-indicator{background-color:#ccc;flex-shrink:0;width:4px}.item-content{flex:1 1;padding:12px}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.item-location{display:flex;flex:1 1;flex-direction:column}.distance{color:#7f8c8d;font-size:12px;font-weight:500}.item-date{color:#95a5a6;font-size:12px;margin-left:8px;white-space:nowrap}.item-status{color:#34495e;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.item-details{display:flex;gap:12px}.item-info{flex:1 1;min-width:0}.reporter-info{margin-bottom:6px}.reporter-name{color:#a3bf61;font-size:12px;font-weight:500}.item-comment{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;font-size:13px;line-height:1.4;margin-bottom:8px;overflow:hidden}.cleanup-info{border-top:1px solid #ecf0f1;margin-top:8px;padding-top:8px}.cleanup-user{color:#a3bf61;font-size:12px;font-weight:500;margin-bottom:4px}.cleanup-comment{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;font-size:12px;line-height:1.3;overflow:hidden}.cleanup-coordinates{color:#7f8c8d;font-size:11px;margin-top:4px}.item-image{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.item-image img{height:100%;object-fit:cover;transition:opacity .2s ease;width:100%}.no-image-placeholder{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;height:100%;justify-content:center;width:100%}.no-image-placeholder svg{opacity:.6}@media (max-width:480px){.item-content{padding:10px}.item-image{height:50px;width:50px}}.filter-sort-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 16px 12px}.header-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reports-title{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.header-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.header-close-button:hover{background-color:#e0e0e0;color:#2c3e50}.filter-sort-buttons{display:flex;gap:6px}.filter-sort-btn{align-items:center;background-color:#fff;border:1px solid #d0d0d0;border-radius:16px;color:#2c3e50;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;justify-content:center;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.filter-sort-btn:hover{background-color:#f8f9fa;border-color:#a3bf61}.filter-sort-btn:active{transform:scale(.95)}.filter-sort-btn.active{background-color:#a3bf61;border-color:#a3bf61;color:#fff}.filter-sort-btn.active .btn-icon{filter:brightness(0) invert(1)}.btn-icon{height:16px;opacity:.7;width:16px}.btn-text{-webkit-user-select:none;user-select:none}.search-btn{padding:8px 10px}.scroll-to-top-btn{align-items:center;animation:fadeInScale .3s ease-out;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #4caf5066;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;position:fixed;right:24px;transition:all .3s ease;width:48px;z-index:1000}.scroll-to-top-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 16px #4caf5080;transform:translateY(-3px) scale(1.05)}.scroll-to-top-btn:active{transform:translateY(-1px) scale(.98)}.scroll-arrow{font-size:24px;font-weight:700;line-height:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.5) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-filter-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-color:#667eea!important;box-shadow:0 2px 8px #667eea4d;color:#fff!important;display:flex;gap:6px;padding-right:6px}.user-filter-btn:hover{background:linear-gradient(135deg,#5568d3,#653a8b)!important;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.clear-user-filter-btn,.user-filter-btn .btn-text{color:#fff;font-weight:600}.clear-user-filter-btn{align-items:center;background:#ffffff40;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.clear-user-filter-btn:hover{background:#fff6;transform:scale(1.1)}.clear-user-filter-btn:active{transform:scale(.95)}.search-input-container{animation:slideDown .3s ease-out;background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:8px 16px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:100px;opacity:1}}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{background-color:#fff;border:1px solid #d0d0d0;border-radius:20px;color:#252830;outline:none;padding:10px 40px 10px 16px;transition:all .2s ease}.search-input::placeholder{color:#999}.search-input:focus{border-color:#999}.clear-search-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:24px;justify-content:center;position:absolute;right:6px;transition:background-color .2s ease;width:24px}.clear-search-button:hover{background-color:#f0f0f0}.filter-menu-overlay{animation:fadeIn .2s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.filter-dropdown-menu{animation:slideDownMenu .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;left:16px;min-width:200px;overflow:hidden;position:absolute;top:90px;z-index:9999}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-menu-item{background:none;border:none;border-bottom:1px solid #e0e0e0;color:#252830;cursor:pointer;display:block;font-size:15px;font-weight:500;padding:14px 20px;text-align:left;transition:background-color .2s ease;width:100%}.filter-menu-item:last-child{border-bottom:none}.filter-menu-item:hover{background-color:#f5f5f5}.filter-menu-item.active{background:#a3bf61;color:#fff;font-weight:600}@media (max-width:480px){.filter-sort-header{padding:12px}.reports-title{font-size:16px}.filter-sort-btn{font-size:12px;padding:6px 10px}.btn-icon{height:14px;width:14px}.filter-dropdown-menu{top:80px}}.reports-list{background-color:#f8f9fa;display:flex;flex-direction:column;height:100%}.reports-list-header{background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;padding:16px;z-index:10}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reports-list-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#95a5a6;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:4px;transition:all .2s ease;width:32px}.close-button:hover{background:#e9ecef;color:#2c3e50}.search-container{position:relative}.search-input{background:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 36px 10px 12px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#a3bf61;box-shadow:0 0 0 2px #a3bf6133;outline:none}.search-input::placeholder{color:#95a5a6}.clear-search-btn{background:none;border:none;border-radius:50%;color:#95a5a6;cursor:pointer;font-size:18px;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease}.clear-search-btn:hover{background:#e9ecef;color:#2c3e50}.reports-filter{background:#fff;border-bottom:1px solid #e9ecef;padding:12px 16px}.filter-buttons{display:flex;gap:8px;justify-content:center}.filter-btn{background:#fff;border:1px solid #dee2e6;border-radius:20px;color:#6c757d;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;min-width:0;padding:8px 16px;text-transform:capitalize;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.filter-btn.active{background:#a3bf61;border-color:#a3bf61;color:#fff}.filter-btn.active:hover{background:#8fa850;border-color:#8fa850}.reports-list-content{flex:1 1;overflow-y:auto;padding:16px 16px 75px;scrollbar-color:#bdc3c7 #f8f9fa;scrollbar-width:thin}.reports-list-content::-webkit-scrollbar{width:6px}.reports-list-content::-webkit-scrollbar-track{background:#f8f9fa}.reports-list-content::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.reports-list-content::-webkit-scrollbar-thumb:hover{background:#95a5a6}.no-reports{color:#7f8c8d;font-size:16px;line-height:1.5;padding:40px 20px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reports-list-item{animation:fadeInUp .3s ease-out}@media (max-width:768px){.reports-list-header{padding:12px}.reports-list-header h3{font-size:16px;margin-bottom:10px}.reports-list-content{padding:12px}.reports-filter{padding:8px 12px}.filter-btn{font-size:12px;padding:6px 12px}}@media (max-width:480px){.filter-buttons{flex-direction:column;gap:6px}.filter-btn{font-size:13px;padding:8px 16px}}.reports-sidebar{background:#fff;border-radius:12px;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;height:calc(100vh - 32px);margin:16px;max-width:400px;min-width:300px;position:fixed;right:0;top:0;transform:translateX(0);transition:transform .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;width:25vw;z-index:1000}.reports-sidebar.collapsed{align-items:center;border-radius:50%;box-shadow:0 4px 20px #0003;height:60px;justify-content:center;margin:0;min-width:60px;right:16px;top:16px;width:60px}.circular-menu-button{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #0000001a;cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .2s ease;width:100%}.circular-menu-button:hover{background:#f8f9fa;transform:scale(1.05)}.menu-icon{color:#2c3e50;font-size:20px;font-weight:700}.sidebar-content{border-radius:12px;flex:1 1;height:100%;opacity:1;overflow:hidden;transition:opacity .2s ease}.collapsed .sidebar-content{display:none}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-message h4{color:#e74c3c;font-size:18px;margin:0 0 8px}.error-message p{color:#7f8c8d;font-size:14px;line-height:1.4;margin:0}.loading-state p{color:#7f8c8d;font-size:16px;margin:16px 0 0}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#a3bf61;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.reports-sidebar{min-width:280px;width:30vw}}@media (max-width:768px){.reports-sidebar{border-radius:0;box-shadow:none;height:100vh;height:100dvh;left:0;margin:0;max-width:none;right:0;top:0;width:100vw}.reports-sidebar.collapsed{border-radius:50%;box-shadow:0 4px 20px #0003;height:56px;left:auto;min-width:56px;right:12px;top:12px;width:56px}.menu-icon{font-size:20px}.sidebar-content{border-radius:0}}@media (max-width:480px){.reports-sidebar.collapsed{height:52px;min-width:52px;right:10px;top:10px;width:52px}.menu-icon{font-size:18px}}.report-button{background:#373b44;border:none;border-radius:100px;bottom:42px;box-shadow:0 8px 16px #373b4466;color:#fff;cursor:pointer;font-size:20px;font-weight:600;padding:16px 24px;position:fixed;right:16px;transition:all .3s ease;-webkit-user-select:none;user-select:none;z-index:9}.report-button:hover{box-shadow:0 12px 24px #373b4480;transform:translateY(-2px)}.report-button:active{transform:translateY(0)}@media (min-width:769px){.report-button{right:432px}}@media (max-width:768px){.report-button{bottom:24px;font-size:18px;padding:14px 20px;right:16px}}.report-page-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.report-page{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-page-header{align-items:center;background:linear-gradient(135deg,#cce779,#a3bf61);border-bottom:1px solid #e0e0e0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.report-page-header h2{color:#373b44;font-size:24px;font-weight:600;margin:0}.report-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#373b44;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;transition:background-color .2s ease;width:36px}.report-close-btn:hover{background-color:#373b441a}.report-page-content{flex:1 1;overflow-y:auto;padding:24px}.report-images-section{margin-bottom:24px}.report-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.report-image-preview{border-radius:12px;box-shadow:0 2px 8px #0000001a;height:150px;object-fit:cover;width:100%}.report-section{margin-bottom:24px}.report-label{color:#252830;display:block;font-size:16px;font-weight:600;margin-bottom:8px}.report-description{color:#666;font-size:13px;font-weight:300;margin:4px 0 12px}.report-location-info{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px}.location-coords{color:#252830;font-size:14px;font-weight:600;margin:0 0 4px}.location-name{color:#666;font-size:13px;margin:0}.location-loading{color:#999;font-size:14px;font-style:italic;margin:0}.location-error-text{color:#ff5353;font-size:14px;margin:0 0 12px}.manual-location-section{margin-bottom:12px}.set-location-btn{background:#a3bf61;border:none;border-radius:8px;box-shadow:0 2px 4px #a3bf614d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 16px;transition:all .2s ease;width:100%}.set-location-btn:hover:not(:disabled){background:#8fa850;box-shadow:0 4px 8px #a3bf6166;transform:translateY(-1px)}.set-location-btn:active:not(:disabled){transform:translateY(0)}.set-location-btn:disabled{cursor:not-allowed;opacity:.5}.change-location-btn{background:#0000;border:1px solid #a3bf61;border-radius:6px;color:#a3bf61;cursor:pointer;font-size:13px;font-weight:600;margin-top:8px;padding:8px 16px;transition:all .2s ease}.change-location-btn:hover:not(:disabled){background:#a3bf61;color:#fff}.change-location-btn:disabled{cursor:not-allowed;opacity:.5}.report-textarea{border:1px solid #d0d0d0;border-radius:8px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.report-textarea:focus{border-color:#a3bf61;box-shadow:0 0 0 3px #a3bf611a;outline:none}.report-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.action-plan-radio{display:flex;flex-direction:column;gap:8px}.action-plan-option{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;color:#252830;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.action-plan-option:hover:not(:disabled){background:#f0f0f0;border-color:#a3bf61}.action-plan-option.active{background:linear-gradient(135deg,#cce779,#a3bf61);border-color:#a3bf61;color:#373b44}.radio-circle{align-items:center;border:2px solid #d0d0d0;border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:border-color .2s ease;width:20px}.action-plan-option.active .radio-circle{border-color:#373b44}.radio-dot{background:#373b44;border-radius:50%;height:10px;width:10px}.pollution-level-display{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:16px;justify-content:center;margin-bottom:12px;padding:16px}.pollution-amount-value{color:#252830;font-size:32px;font-weight:600}.pollution-icon{height:36px;object-fit:contain;width:36px}.pollution-slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;height:40px;outline:none;width:100%}.pollution-slider::-webkit-slider-runnable-track{background:#e0e0e0;border:1px solid #d0d0d0;border-radius:4px;height:8px;width:100%}.pollution-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#cce779,#a3bf61);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:28px;margin-top:-11px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:28px}.pollution-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.pollution-slider::-webkit-slider-thumb:active{transform:scale(1.05)}.pollution-slider::-moz-range-track{background:#e0e0e0;border:1px solid #d0d0d0;border-radius:4px;height:8px;width:100%}.pollution-slider::-moz-range-thumb{background:linear-gradient(135deg,#cce779,#a3bf61);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:28px;-moz-transition:transform .2s ease;transition:transform .2s ease;width:28px}.pollution-slider::-moz-range-thumb:hover{transform:scale(1.1)}.pollution-slider::-moz-range-thumb:active{transform:scale(1.05)}.pollution-slider::-moz-range-progress{background:linear-gradient(90deg,#cce779,#a3bf61);border-radius:4px 0 0 4px;height:8px}.pollution-slider:disabled{cursor:not-allowed;opacity:.5}.pollution-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.pollution-slider:disabled::-moz-range-thumb{cursor:not-allowed}.report-options-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.area-options{grid-template-columns:repeat(3,1fr)}.report-option-btn{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;color:#252830;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.report-option-btn:hover:not(:disabled){background:#e9ecef;border-color:#a3bf61}.report-option-btn.active{background:linear-gradient(135deg,#cce779,#a3bf61);border-color:#a3bf61;color:#373b44}.report-option-btn:disabled{cursor:not-allowed;opacity:.5}.trash-types-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.trash-type-btn{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px 12px;transition:all .2s ease}.trash-type-btn:hover:not(:disabled){background:#e9ecef;border-color:#a3bf61;transform:translateY(-2px)}.trash-type-btn.active{background:linear-gradient(135deg,#cce779,#a3bf61);border-color:#a3bf61;transform:translateY(-2px)}.trash-type-btn:disabled{cursor:not-allowed;opacity:.5}.trash-type-icon{height:20px;object-fit:contain;width:20px}.trash-type-label{color:#252830;font-size:13px;font-weight:500;text-align:center}.report-checkbox-label{align-items:center;color:#252830;cursor:pointer;display:flex;font-size:14px;gap:8px}.report-checkbox-label input[type=checkbox]{accent-color:#a3bf61;cursor:pointer;height:18px;width:18px}.report-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#ff5353;font-size:14px;margin-top:16px;padding:12px}.report-page-footer{background:#f8f9fa;border-radius:0 0 16px 16px;border-top:1px solid #e0e0e0;display:flex;gap:12px;padding:20px 24px}.report-cancel-btn,.report-submit-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.report-cancel-btn{background:#fff;border:2px solid #d0d0d0;color:#666}.report-cancel-btn:hover:not(:disabled){background:#f8f9fa;border-color:#999}.report-submit-btn{background:#373b44;box-shadow:0 4px 12px #373b444d;color:#fff}.report-submit-btn:hover:not(:disabled){box-shadow:0 6px 16px #373b4466;transform:translateY(-2px)}.report-submit-btn:active:not(:disabled){transform:translateY(0)}.report-cancel-btn:disabled,.report-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.report-page-overlay{align-items:stretch;padding:0}.report-page{border-radius:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.report-page-header{border-radius:0;padding:16px 20px}.report-page-header h2{font-size:20px}.report-page-content{padding:16px}.report-images-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.report-image-preview{height:100px}.trash-types-grid{grid-template-columns:repeat(2,1fr)}.report-page-footer{border-radius:0;padding:16px 20px}.report-cancel-btn,.report-submit-btn{font-size:15px;padding:16px 24px;width:100%}.report-section{margin-bottom:20px}.report-label{font-size:15px}}
/*# sourceMappingURL=main.06fcd860.css.map*/