body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-container{flex-direction:column;margin:0 auto;max-width:480px;min-height:60vh;padding:24px;width:100%}.central-loading-section{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:48px;text-align:center}.main-loading-spinner{height:120px;margin-bottom:24px;position:relative;width:120px}.spinner-outer-ring{animation:spin 2s linear infinite;border-top:4px solid var(--bg-tertiary);border:4px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--primary-blue);height:100%;position:relative;width:100%}.spinner-inner-ring{animation:spin-reverse 1.5s linear infinite;border:2px solid;border-color:#0000 #0000 #3b82f680;height:calc(100% - 24px);left:12px;top:12px;width:calc(100% - 24px)}.loading-pulse,.spinner-inner-ring{border-radius:50%;position:absolute}.loading-pulse{animation:pulse 2s ease-in-out infinite;background:var(--primary-blue);height:20px;left:50%;top:50%;transform:translate(-50%,-50%);width:20px}.loading-title{animation:fade-in-out 3s ease-in-out infinite;color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:8px}.loading-subtitle{animation:slide-up .5s ease-out;color:var(--text-secondary);font-size:16px}.enhanced-spinner{animation:spin 1s linear infinite;border:3px solid var(--primary-blue);border-radius:50%;border-top:3px solid #0000;box-shadow:0 0 10px #3b82f64d;height:24px;width:24px}.loading-content{max-width:600px;width:100%}.progress-container{margin-bottom:32px;width:100%}.global-progress{background:var(--bg-tertiary);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden;width:100%}.global-progress-fill{background:var(--primary-blue);height:100%;position:relative;transition:width .3s ease}.global-progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-percentage{color:var(--text-secondary);font-size:12px;padding-top:4px;text-align:right}.task-list{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:600px;width:100%}.task-item{background:var(--bg-secondary);border-radius:12px;padding:20px;transition:all .3s ease}.task-item.completed{background:var(--bg-tertiary)}.task-item.current{background:#fff;box-shadow:0 2px 8px #0000000d}.task-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:8px;width:100%}.checkmark-container{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.task-icon{font-size:18px;line-height:1}.checkmark{align-items:center;background:var(--primary-blue);color:#fff;display:flex;font-size:14px;height:24px;justify-content:center;width:24px}.loading-spinner{border:2px solid var(--primary-blue);border-top:2px solid #0000;height:24px;width:24px}.task-title{color:var(--text-primary);flex:1 1;font-size:16px;font-weight:500;min-width:0;padding-top:2px}.task-message,.task-title{line-height:1.4;text-align:left}.task-message{color:var(--text-secondary);font-size:14px;margin-left:40px;width:calc(100% - 40px)}.material-icons{color:var(--text-secondary);font-size:18px}.task-item.completed .material-icons,.task-item.current .material-icons{color:#fff}.dev-controls{background:var(--bg-tertiary);border:1px dashed var(--text-tertiary);border-radius:12px;display:flex;flex-direction:column;gap:16px;margin-top:40px;padding:24px;width:100%}.dev-controls-buttons{display:flex;gap:12px}.dev-button{background:var(--text-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.dev-button.danger{background:#ef4444}.dev-button:hover{opacity:.9;transform:translateY(-1px)}.debug-info{background:var(--bg-primary);border-radius:8px;color:var(--text-secondary);font-family:monospace;font-size:12px;margin-top:8px;padding:16px}.debug-info>div{margin-bottom:4px}.debug-info>div:last-child{margin-bottom:0}@keyframes spin-reverse{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}@keyframes pulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}}@keyframes fade-in-out{0%,to{opacity:1}50%{opacity:.6}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width:640px){.loading-container{max-width:560px;padding:32px 24px}.central-loading-section{margin-bottom:56px}.main-loading-spinner{height:140px;width:140px}.loading-title{font-size:28px}.loading-subtitle{font-size:18px}.task-item{padding:24px}.task-title{font-size:18px}.task-message{font-size:15px;margin-left:48px}.checkmark-container{height:28px;min-height:28px;min-width:28px;width:28px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid var(--primary-blue);border-radius:50%;border-top:2px solid #0000;height:18px;width:18px}}@media (max-width:768px){.loading-container{padding:20px 16px}.central-loading-section{margin-bottom:32px}.main-loading-spinner{height:100px;width:100px}.loading-title{font-size:20px}.loading-subtitle{font-size:14px}.task-list{gap:12px}.loading-container,.task-item{padding:12px}.task-title{font-size:14px}.task-message{font-size:12px}.checkmark-container{height:24px;width:24px}.checkmark{height:12px;width:12px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid var(--primary-blue);border-radius:50%;border-top:2px solid #0000;height:20px;width:20px}.progress-container{margin-bottom:12px}.global-progress{height:4px}.progress-percentage{font-size:12px}.dev-controls{padding:12px}.dev-controls-buttons{gap:8px}.dev-button{font-size:12px;padding:8px 12px}.debug-info{font-size:11px;padding:8px}}@media (max-width:480px){.loading-container{padding:16px 12px}.central-loading-section{margin-bottom:24px}.main-loading-spinner{height:80px;width:80px}.loading-title{font-size:18px}.loading-subtitle{font-size:13px}.loading-container,.task-item{padding:12px 8px}.task-item{padding:10px 6px}.task-title{font-size:12px;line-height:1.3}.task-message{font-size:11px;line-height:1.4}}@media (max-width:768px) and (orientation:landscape){.loading-container{padding:12px 16px}}.report-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto;max-width:800px;padding:2rem}.form-preview{margin-bottom:2rem}.preview-image{border-radius:4px;max-height:400px;object-fit:contain}.form-section{gap:1.5rem}.form-group,.form-section{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#212529;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #dee2e6;border-radius:4px;font-size:16px;padding:.75rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;outline:none}.form-group textarea{min-height:120px;resize:vertical}.error{color:#dc3545;font-size:14px;margin-top:.25rem}.submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:1rem;padding:1rem 2rem;transition:background-color .2s ease}.submit-button:hover{background-color:#0056b3}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed}.home-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:2rem}.home-content{max-width:600px;text-align:center;width:100%}.home-content h1{color:#212529;font-size:2.5rem;margin-bottom:1rem}.home-content p{color:#6c757d;font-size:1.1rem;margin-bottom:2rem}.upload-section{margin-bottom:3rem}.upload-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;display:inline-block;font-size:1.1rem;font-weight:500;padding:1rem 2rem;transition:background-color .2s ease}.upload-button:hover{background-color:#0056b3}.error-message{font-size:.9rem;margin-top:1rem}.instructions{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem;text-align:left}.instructions h2{color:#212529;font-size:1.5rem;margin-bottom:1rem}.instructions ul{list-style-type:none;margin:0;padding:0}.instructions li{border-bottom:1px solid #dee2e6;color:#495057;padding:.75rem 0}.instructions li:last-child{border-bottom:none}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-blue:#2563eb;--primary-blue-hover:#1d4ed8;--primary-blue-active:#1e40af;--primary-blue-dark:#1d4ed8;--text-primary:#1f2937;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--border-color:#e5e7eb;--shadow-sm:0 1px 2px #00000008;--shadow-md:0 1px 3px #0000000d;--shadow-lg:0 4px 6px #0000001a;--success-green:#10b981;--warning-orange:#f59e0b;--error-red:#ef4444}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-secondary);color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}.App{background:#f8fafc;background:var(--bg-secondary);display:flex;flex-direction:column;min-height:100vh}.App,.navbar{text-align:center}.navbar{background-color:#fff;background-color:var(--bg-primary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-sm);min-height:36px;padding:6px 0;position:relative}.nav-link{border-radius:6px;color:#6b7280;color:var(--text-secondary);font-size:14px;font-weight:500;padding:8px 12px;position:absolute;right:16px;text-decoration:none;top:50%;transform:translateY(-50%);transition:all .2s ease}.nav-link:hover{background-color:#f1f5f9;background-color:var(--bg-tertiary);color:#2563eb;color:var(--primary-blue)}.logo-group{align-items:center;display:flex;flex-direction:column;justify-content:center}.logo{color:#1f2937;color:var(--text-primary);font-size:18px;font-weight:600;letter-spacing:.5px;line-height:1}.subtitle{color:#9ca3af;color:var(--text-tertiary);font-size:11px;font-weight:400;letter-spacing:.2px;margin-top:1px}@media (min-width:600px){.logo{font-size:22px}.subtitle{font-size:13px}.main-content{margin-top:32px;max-width:480px;padding:32px 24px}.anonymous-text,.example-image,.preview-image,.task-list{max-width:380px}}@media (min-width:1024px){.main-content{max-width:560px;padding:40px 32px}.anonymous-text,.example-image,.preview-image,.task-list{max-width:440px}}.main-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px;padding:24px}.main-title{color:#1f2937;color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:32px;text-align:center}.confirmation-sections{margin-bottom:32px;width:100%}.confirmation-section{background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px;text-align:left;transition:all .2s ease}.confirmation-section:hover{border-color:#2563eb;border-color:var(--primary-blue);box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-md)}.section-title{align-items:center;color:#1f2937;color:var(--text-primary);display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:12px}.section-title:before{background:#2563eb;background:var(--primary-blue);border-radius:2px;content:"";flex-shrink:0;height:16px;width:4px}.section-text{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.report-summary{background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-sm);margin:24px 0;max-width:400px;padding:24px;text-align:left;width:100%}.report-summary h3{color:#1f2937;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.report-summary p{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;font-size:14px;justify-content:space-between;line-height:1.5;margin-bottom:8px}.report-summary p:last-child{margin-bottom:0}.report-summary strong{color:#1f2937;color:var(--text-primary);flex-shrink:0;font-weight:500;min-width:120px}.checkmark-container{margin:32px 0;opacity:0;transform:scale(.8);transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.checkmark-container.show{opacity:1;transform:scale(1)}.checkmark{stroke:#10b981;stroke:var(--success-green);border-radius:50%;display:block;height:80px;margin:0 auto;width:80px}.checkmark,.checkmark-circle{stroke-width:3;stroke-miterlimit:10}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke:#10b981;stroke:var(--success-green);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) .3s forwards}.checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;stroke:#10b981;stroke:var(--success-green);stroke-width:3;animation:stroke .3s cubic-bezier(.65,0,.45,1) .9s forwards;transform-origin:50% 50%}.signup-section{margin-top:32px;text-align:center}.signup-text{color:#6b7280;color:var(--text-secondary);font-size:14px;margin-bottom:16px}.google-login-container{display:flex;justify-content:center;margin-top:16px}.google-login-container.disabled{opacity:.6;pointer-events:none}.error-message{background-color:#fef2f2;border-radius:6px;color:#ef4444;font-size:14px;margin:8px 0;padding:8px 12px}.form-section{margin-bottom:32px;width:100%}.form-line{flex-direction:column;width:100%}.form-line,.form-row{display:flex;margin-bottom:24px}.form-row{align-items:flex-start;gap:16px}.flex-1{flex:1 1}.flex-2{flex:2 1}.form-label{color:#6b7280;color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:8px}.text-input{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;color:#1f2937;color:var(--text-primary);font-size:16px;padding:12px;transition:border-color .2s ease;width:100%}.text-input:focus{border-color:#2563eb;border-color:var(--primary-blue);outline:none}textarea.text-input{min-height:100px;resize:vertical}select.text-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;padding-right:40px}.image-preview{margin-bottom:32px;width:100%}.preview-image{border-radius:12px;margin-top:8px;width:100%}.form-description{color:#6b7280;color:var(--text-secondary);font-size:13px;line-height:1.4;margin-top:6px}.action-btn{align-items:center;background:#2563eb;background:var(--primary-blue);border-radius:12px;color:#fff;display:flex;font-size:16px;gap:8px;justify-content:center;padding:16px;transition:background-color .2s ease}.action-btn:hover{background:#1d4ed8;background:var(--primary-blue-hover)}.action-btn:disabled{background:#9ca3af;background:var(--text-tertiary);cursor:not-allowed}.action-btn.secondary-btn{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#1f2937;color:var(--text-primary)}.action-btn.secondary-btn:hover{background:#e5e7eb;background:var(--border-color)}.photo-actions{display:flex;flex-direction:column;gap:10px;margin:0 0 32px;width:100%}.camera-btn,.upload-btn{background:#2563eb;background:var(--primary-blue)}.helper-text{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin:0;padding:12px 20px;text-decoration:none;transition:all .2s ease}.helper-text:hover{background:#f8fafc;background:var(--bg-secondary);color:#1f2937;color:var(--text-primary)}.helper-text svg{height:16px;opacity:.7;width:16px}.info-text{color:#9ca3af;color:var(--text-tertiary);font-size:13px;line-height:1.5;margin-left:auto;margin-right:auto;margin-top:auto;max-width:320px;padding-top:32px}@media (min-width:600px){.main-title{font-size:28px;max-width:380px}.info-text{font-size:14px;max-width:380px}}.example-photo-popup,.image-preview{background:#f1f5f9;background:var(--bg-tertiary);border-radius:8px;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-sm);margin-bottom:18px;padding:10px 0}.example-image,.preview-image{border-radius:8px;box-shadow:0 1px 4px #1e293b0a;max-width:320px;width:100%}.anonymous-text{color:#6b7280;color:var(--text-secondary);font-size:12px;margin-top:18px;max-width:320px;text-align:center}.confirmation-checkmark-container{height:80px;margin:0 auto 32px;opacity:0;transform:scale(.5);transition:all .6s ease;width:80px}.confirmation-checkmark-container.show{opacity:1;transform:scale(1)}.confirmation-checkmark{height:100%;width:100%}.confirmation-checkmark-circle{stroke:#2563eb;stroke:var(--primary-blue);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.confirmation-checkmark-check{stroke:#2563eb;stroke:var(--primary-blue);stroke-width:2;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.nav-action-group{align-items:center;display:flex;flex-direction:column;gap:4px;margin:24px 0;width:100%}@media (min-width:600px){.preview-image{max-width:380px}.nav-action-group{gap:6px}}.photo-preview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:24px 0;width:100%}.photo-preview-item{aspect-ratio:4/3;background:#f1f5f9;background:var(--bg-tertiary);border-radius:8px;overflow:hidden;position:relative}.photo-preview-item img{height:100%;object-fit:cover;width:100%}.photo-preview-item .remove-photo{align-items:center;background:#00000080;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s ease;width:24px}.photo-preview-item .remove-photo:hover{background:#000000b3}.add-photo-button{align-items:center;aspect-ratio:4/3;background:#f1f5f9;background:var(--bg-tertiary);border:2px dashed #e5e7eb;border:2px dashed var(--border-color);border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;transition:all .2s ease}.add-photo-button:hover{background:#f8fafc;background:var(--bg-secondary);border-color:#2563eb;border-color:var(--primary-blue);color:#2563eb;color:var(--primary-blue)}.add-photo-button svg{height:24px;opacity:.7;width:24px}.photo-count{color:#6b7280;color:var(--text-secondary);font-size:14px;margin:8px 0;text-align:center}.task-progress{background:#f1f5f9;background:var(--bg-tertiary);height:6px;margin-bottom:32px;overflow:hidden;width:100%}.task-progress,.task-progress-fill{border-radius:8px;position:relative}.task-progress-fill{background:#2563eb;background:var(--primary-blue);height:100%;transition:width .3s ease}.task-progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;margin:1rem 0;padding:.75rem}.loading-screen{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh}.review-page{margin:0 auto;max-width:1200px;padding:2rem}.review-page h1{color:#212529;font-size:2rem;margin-bottom:2rem;text-align:center}@media (max-width:768px){input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px!important}.action-btn,.add-photo-button,.back-link,.helper-text,.remove-photo{min-height:44px;min-width:44px}.photo-preview-item .remove-photo{min-height:32px;min-width:32px}.nav-action-group,.photo-actions{gap:12px}.main-content>*+*{margin-top:16px}.form-section>*+*{margin-top:12px}.photo-preview-grid{margin:16px -8px;padding:0 8px}.form-line{margin-bottom:16px}.form-row{flex-direction:column;gap:12px}.flex-1,.flex-2{flex:none}.text-input{padding:10px 8px}.image-preview{margin:0 -8px 24px;padding:0 8px}.dev-controls,.preview-image{border-radius:8px}.dev-controls{margin:20px -8px 0}.dev-controls-buttons{gap:10px}.confirmation-checkmark-container{margin-bottom:24px}.navbar{padding:4px 0}.logo{font-size:16px}.subtitle{font-size:10px}.main-content{margin-top:16px;padding:16px}.main-title{font-size:20px;margin-bottom:24px}.photo-preview-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.photo-preview-item .remove-photo{height:24px;right:4px;top:4px;width:24px}.add-photo-button svg{height:20px;width:20px}.form-section{margin-bottom:24px}.form-line{margin-bottom:20px}.text-input{font-size:16px;padding:10px}.form-label{font-size:13px;margin-bottom:6px}.action-btn{font-size:14px;padding:12px 20px}.photo-actions{margin-bottom:20px}.helper-text{font-size:12px;padding:8px 12px}.helper-text svg{height:14px;width:14px}.info-text{font-size:12px;margin-top:20px}.example-photo-popup{padding:12px}.example-image{max-width:280px}.nav-action-group{gap:8px}.photo-count{font-size:12px;margin-bottom:16px}.review-page{padding:16px}.review-page h1{font-size:20px}.confirmation-checkmark-container,.image-preview,.review-page h1{margin-bottom:20px}.back-link{font-size:12px}.anonymous-text{font-size:12px;padding:12px}.confirmation-sections{margin-bottom:24px}.confirmation-section{margin-bottom:12px;padding:16px}.section-title{font-size:15px;margin-bottom:10px}.section-text{font-size:13px;line-height:1.5}}@media (max-width:480px){.action-btn{min-height:48px}.helper-text{min-height:40px}.main-content{padding:12px 8px}.photo-preview-grid{gap:4px;margin:12px -4px}.form-line{margin-bottom:16px}.text-input{padding:10px 8px}.main-content{padding:8px}.photo-preview-grid{margin:8px -4px;padding:0 4px}.main-title{font-size:16px;line-height:1.3}.action-btn{font-size:13px;line-height:1.2;padding:10px 8px}.text-input{font-size:14px;padding:8px 6px}.form-label{font-size:12px}.form-row{flex-direction:column;gap:8px}.flex-1,.flex-2{flex:none}.map-placeholder{padding:20px 8px}.map-icon{height:32px;width:32px}.map-content p{font-size:12px}.map-subtitle{font-size:10px!important}}@media (max-width:768px) and (orientation:landscape){.main-content{padding:12px 16px}.photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.map-placeholder{background:#f1f5f9;background:var(--bg-tertiary);border:2px dashed #e5e7eb;border:2px dashed var(--border-color);border-radius:8px;margin-bottom:16px;padding:32px 16px;text-align:center;transition:border-color .2s ease}.map-placeholder:hover{border-color:#2563eb;border-color:var(--primary-blue)}.map-content{align-items:center;display:flex;flex-direction:column;gap:8px}.map-icon{color:#9ca3af;color:var(--text-tertiary);height:48px;width:48px}.map-content p{color:#6b7280;color:var(--text-secondary);font-family:inherit;font-size:14px;margin:0}.map-subtitle{color:#9ca3af!important;color:var(--text-tertiary)!important;font-family:inherit!important;font-size:12px!important}.form-description,.form-label,.form-line,.info-text,.main-title,.photo-count,.text-input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.back-link{color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:14px;text-decoration:underline;transition:color .2s ease}.back-link:hover{color:#1f2937;color:var(--text-primary)}.modal-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:1000}.modal-content{background:#fff;background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-lg);max-width:400px;padding:24px;width:100%}.modal-content h3{color:#1f2937;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:12px}.modal-content p{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:20px}.modal-btn{padding:10px 16px}.modal-btn.secondary{background:#f1f5f9;background:var(--bg-tertiary);color:#1f2937;color:var(--text-primary)}.modal-btn.secondary:hover{background:var(--border-color)}.modal-btn.primary{background:#2563eb;background:var(--primary-blue)}.modal-btn.primary:hover{background:#1d4ed8;background:var(--primary-blue-hover)}@media (max-width:768px){.modal-content{padding:20px}.modal-actions{flex-direction:column}.modal-btn{padding:12px;width:100%}.map-placeholder{padding:24px 12px}.map-icon{height:36px;width:36px}.map-content p{font-size:13px}.map-subtitle{font-size:11px!important}}.confirmation-actions{display:flex;flex-direction:column;gap:12px;margin:32px 0}.confirmation-actions .action-btn{margin:0;min-height:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (min-width:640px){.confirmation-actions{flex-direction:row;gap:16px}.confirmation-actions .action-btn{flex:1 1;min-height:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.confirmation-privacy-section{background:#f1f5f9;background:var(--bg-tertiary);border-left:4px solid #2563eb;border-left:4px solid var(--primary-blue);border-radius:8px;margin-top:16px;padding:14px 16px;text-align:left}.privacy-text{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0;text-align:left}.privacy-text strong{color:#1f2937;color:var(--text-primary);font-weight:600}@media (max-width:768px){.confirmation-privacy-section{margin-top:12px;padding:12px 14px}.privacy-text{font-size:13px}}.preview-step-indicator{margin-bottom:24px;width:100%}.step-indicator{justify-content:center;margin:0 auto;max-width:300px}.step,.step-indicator{align-items:center;display:flex}.step{flex:1 1;flex-direction:column;position:relative}.step-number{align-items:center;background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:50%;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:32px}.step-label,.step-number{color:#6b7280;color:var(--text-secondary)}.step-label{font-size:12px;font-weight:500;max-width:80px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.step.completed .step-number{background:#10b981;background:var(--success-green);border-color:#10b981;border-color:var(--success-green);color:#fff}.step.completed .step-label{color:#10b981;color:var(--success-green)}.step.active .step-number{background:#2563eb;background:var(--primary-blue);border-color:#2563eb;border-color:var(--primary-blue);color:#fff}.step.active .step-label{color:#2563eb;color:var(--primary-blue)}.step-connector{background:#e5e7eb;background:var(--border-color);height:2px;margin:0 12px 32px;width:60px}.preview-title{margin-bottom:16px!important}.preview-description{background:#f1f5f9;background:var(--bg-tertiary);border-left:4px solid #2563eb;border-left:4px solid var(--primary-blue);border-radius:12px;margin-bottom:24px;padding:16px}.preview-description p{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.photo-preview-container{margin-bottom:32px;width:100%}.photo-preview-grid.preview-mode{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:16px;margin-bottom:16px;padding:16px}.photo-preview-item.preview-item{border:2px solid #0000;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.photo-preview-item.preview-item:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.photo-preview-item.preview-item.active{border-color:#2563eb;border-color:var(--primary-blue);box-shadow:0 4px 12px #2563eb33;transform:translateY(-2px)}.photo-preview-overlay{align-items:center;background:#000000b3;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;left:8px;position:absolute;top:8px;width:24px}.preview-photo-info{text-align:center}.photo-count.preview-count{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;color:#1f2937;color:var(--text-primary);display:inline-flex;font-weight:500;gap:8px;padding:12px 16px}.photo-count.preview-count svg{color:#2563eb;color:var(--primary-blue);height:16px;width:16px}.preview-actions{align-items:center;display:flex;flex-direction:column;gap:16px}.primary-submit-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-dark));border:none;border-radius:12px;box-shadow:0 4px 12px #2563eb4d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:180px;padding:16px 32px;transition:all .3s ease}.primary-submit-btn:hover{box-shadow:0 6px 16px #2563eb66;transform:translateY(-2px)}.primary-submit-btn svg{height:18px;width:18px}.back-link.preview-back{align-items:center;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.back-link.preview-back:hover{background:#f1f5f9;background:var(--bg-tertiary);color:#2563eb;color:var(--primary-blue)}.back-link.preview-back svg{height:16px;width:16px}@media (max-width:768px){.step-indicator{max-width:250px}.step-number{font-size:12px;height:28px;width:28px}.step-label{font-size:11px;max-width:70px}.step-connector{margin:0 8px 28px;width:40px}.photo-preview-grid.preview-mode,.preview-description{padding:12px}.primary-submit-btn{font-size:15px;min-width:160px;padding:14px 24px}}.upload-step-indicator{margin-bottom:24px;width:100%}.upload-title{margin-bottom:16px!important}.upload-description{background:#f1f5f9;background:var(--bg-tertiary);border-left:4px solid #10b981;border-left:4px solid var(--success-green);border-radius:12px;margin-bottom:24px;padding:16px}.upload-description p{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.photo-upload-container{margin-bottom:32px;width:100%}.photo-preview-grid.upload-mode{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:16px;margin-bottom:16px;padding:16px}.photo-preview-item.upload-item{border:2px solid #0000;border-radius:12px;overflow:hidden;position:relative;transition:all .3s ease}.photo-preview-item.upload-item:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.upload-photo-info{text-align:center}.photo-count.upload-count{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;color:#1f2937;color:var(--text-primary);display:inline-flex;font-weight:500;gap:8px;padding:12px 16px}.photo-count.upload-count svg{color:#10b981;color:var(--success-green);height:16px;width:16px}.upload-actions{align-items:center;display:flex;flex-direction:column;gap:16px}.primary-continue-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success-green),#059669);border:none;border-radius:12px;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:180px;padding:16px 32px;transition:all .3s ease}.primary-continue-btn:hover{box-shadow:0 6px 16px #10b98166;transform:translateY(-2px)}.primary-continue-btn svg{height:18px;width:18px}.primary-upload-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-dark));border:none;border-radius:12px;box-shadow:0 4px 12px #2563eb4d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:200px;padding:18px 36px;transition:all .3s ease}.primary-upload-btn:hover{box-shadow:0 6px 16px #2563eb66;transform:translateY(-2px)}.primary-upload-btn svg{height:18px;width:18px}@media (max-width:768px){.step-indicator{max-width:250px}.step-number{font-size:12px;height:28px;width:28px}.step-label{font-size:11px;max-width:70px}.step-connector{margin:0 8px 28px;width:40px}.photo-preview-grid.preview-mode,.photo-preview-grid.upload-mode,.preview-description,.upload-description{padding:12px}.primary-continue-btn,.primary-submit-btn{font-size:15px;min-width:160px;padding:14px 24px}.primary-upload-btn{font-size:15px;min-width:180px;padding:16px 28px}}.review-step-indicator{margin-bottom:24px;width:100%}.review-title{margin-bottom:24px!important}.review-photo-evidence{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:16px;margin:32px 0;padding:24px}.evidence-title{align-items:center;color:#1f2937;color:var(--text-primary);display:flex;font-size:20px;font-weight:600;gap:8px;margin-bottom:12px}.evidence-title:before{content:"📸";font-size:18px}.evidence-description{background:#f1f5f9;background:var(--bg-tertiary);border-left:4px solid #f59e0b;border-left:4px solid var(--warning-orange);border-radius:8px;margin-bottom:20px;padding:12px 16px}.evidence-description p{color:#6b7280;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.photo-evidence-container{margin-bottom:20px;width:100%}.photo-preview-grid.review-mode{background:#f8fafc;background:var(--bg-secondary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:16px}.photo-preview-item.evidence-item{border:2px solid #0000;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.photo-preview-item.evidence-item:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.photo-preview-item.evidence-item.active{border-color:#f59e0b;border-color:var(--warning-orange);box-shadow:0 4px 12px #f59e0b33;transform:translateY(-2px)}.evidence-photo-info{text-align:center}.photo-count.evidence-count{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;color:#1f2937;color:var(--text-primary);display:inline-flex;font-weight:500;gap:8px;padding:12px 16px}.photo-count.evidence-count svg{color:#f59e0b;color:var(--warning-orange);height:16px;width:16px}.evidence-actions{display:flex;justify-content:center;margin-top:20px}.reupload-btn{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-orange),#d97706);border:none;border-radius:10px;box-shadow:0 3px 8px #f59e0b4d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:160px;padding:12px 24px;transition:all .3s ease}.reupload-btn:hover{box-shadow:0 4px 12px #f59e0b66;transform:translateY(-2px)}.reupload-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.reupload-btn svg{height:16px;width:16px}.review-actions{display:flex;justify-content:center;margin:32px 0}.primary-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:18px;width:18px}@media (max-width:768px){.step-indicator{max-width:250px}.step-number{font-size:12px;height:28px;width:28px}.step-label{font-size:11px;max-width:70px}.step-connector{margin:0 8px 28px;width:40px}.photo-preview-grid.preview-mode,.photo-preview-grid.upload-mode,.preview-description,.upload-description{padding:12px}.primary-continue-btn,.primary-submit-btn{font-size:15px;min-width:160px;padding:14px 24px}.primary-upload-btn{font-size:15px;min-width:180px;padding:16px 28px}.review-photo-evidence{margin:24px 0;padding:16px}.evidence-title{font-size:18px}.evidence-description{padding:10px 12px}.photo-preview-grid.review-mode{padding:12px}.reupload-btn{font-size:13px;min-width:140px;padding:10px 20px}.button-spinner{height:16px;width:16px}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-picker{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;position:relative;transition:all .2s ease}.map-picker:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md)}.map-picker.error{background:#fef2f2;border-color:var(--error-red)}.map-container{border-radius:12px;overflow:hidden;width:100%}.map-container.loaded{background:#0000}.map-container .leaflet-container{border-radius:12px;overflow:hidden}.map-container .leaflet-control-attribution{background:#fffc;font-size:10px;padding:2px 4px}.custom-marker{cursor:pointer;transition:transform .2s ease}.custom-marker:hover{transform:scale(1.1);z-index:1000!important}.custom-marker>div{transition:box-shadow .2s ease}.custom-marker:hover>div{box-shadow:0 4px 8px #0006!important}.map-loading{align-items:center;background:var(--bg-tertiary);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.loading-spinner{border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-top-color:var(--primary-blue);margin-bottom:12px}.loading-text{color:var(--text-secondary);font-size:14px;margin:0}.map-error{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:32px 16px;text-align:center}.error-icon{color:var(--error-red);height:48px;margin-bottom:16px;width:48px}.error-message{color:var(--error-red);font-weight:500;margin:0 0 8px}.error-hint{color:var(--text-secondary);font-size:14px;line-height:1.4;margin:0}.map-instructions{left:12px;pointer-events:none;position:absolute;right:12px;top:12px;z-index:1000}.instruction-content{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:8px;padding:8px 12px}.instruction-icon{flex-shrink:0;height:16px;width:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.map-container,.map-container .leaflet-container,.map-picker{border-radius:8px}.map-instructions{left:8px;right:8px;top:8px}.instruction-content{font-size:11px;padding:6px 10px}.instruction-icon{height:14px;width:14px}.loading-spinner{border-width:2px;height:28px;width:28px}.loading-text{font-size:13px}.error-icon{height:40px;width:40px}.error-message{font-size:14px}.error-hint{font-size:13px}}@media (max-width:480px){.map-instructions{left:6px;right:6px;top:6px}.instruction-content{font-size:10px;padding:5px 8px}.instruction-icon{height:12px;width:12px}.loading-spinner{height:24px;width:24px}.loading-text{font-size:12px}.error-message{font-size:13px}.error-hint{font-size:12px}}.community-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;flex-direction:column;min-height:100vh;padding:16px}.community-header{color:#1f2937;margin-bottom:24px}.header-content{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:20px;text-align:center}.header-text{flex:1 1}.header-text h1{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:8px}.header-text p{color:#6b7280;font-size:16px;margin:0}.header-actions{display:flex;justify-content:center;margin-top:4px}.submit-report-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 8px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.submit-report-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.submit-report-btn:active{box-shadow:0 2px 8px #10b9814d;transform:translateY(0)}.submit-report-btn svg{height:18px;width:18px}.violation-summary{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.summary-item{align-items:center;display:flex;flex-direction:column;gap:4px}.summary-count{color:#1f2937;font-size:24px;font-weight:700}.summary-count.confirmed{color:#10b981}.summary-count.pending{color:#f59e0b}.summary-label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.community-content{display:flex;flex:1 1;flex-direction:column;gap:16px;margin:0 auto;max-width:1200px;width:100%}.map-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:16px}.map-container{margin-bottom:12px;position:relative}.see-violations-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3b82f6f2;border:none;border-radius:6px;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;left:50%;padding:8px 12px;position:absolute;top:12px;transform:translateX(-50%);transition:all .2s ease;white-space:nowrap;z-index:1000}.see-violations-btn:hover{background:#2563ebf2;box-shadow:0 4px 12px #0003;transform:translateX(-50%) translateY(-1px)}.see-violations-btn:active{background:#1d4ed8f2;transform:translateX(-50%) translateY(0)}.see-violations-btn:disabled{background:#9ca3afcc;box-shadow:none;cursor:not-allowed;transform:translateX(-50%)}.see-violations-btn svg{height:14px;width:14px}.community-map{border-radius:8px;margin-bottom:12px;overflow:hidden}.map-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.legend-item{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:500;gap:6px}.legend-marker{border:2px solid #fff;height:16px;position:relative;width:16px}.legend-marker.confirmed{background-color:#10b981;border-radius:50%}.legend-marker.confirmed:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.legend-marker.pending{background-color:#f59e0b;-webkit-clip-path:polygon(50% 0,0 100%,100% 100%);clip-path:polygon(50% 0,0 100%,100% 100%)}.legend-marker.pending:after{background:#fff;border-radius:50%;content:"";height:4px;left:50%;position:absolute;top:60%;transform:translate(-50%,-50%);width:4px}.violation-details{animation:slideIn .3s ease-out;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.violation-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.violation-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.close-btn:hover{background:#f3f4f6;color:#374151}.violation-info{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.info-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.info-row .label{color:#6b7280;font-size:14px;font-weight:500}.info-row .value{color:#1f2937;font-size:14px;font-weight:500}.status{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status.confirmed{background:#d1fae5;color:#065f46}.status.pending{background:#fef3c7;color:#92400e}.violation-photos{margin-bottom:20px}.violation-photos h4{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:12px}.photo-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-item{border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease}.photo-item:hover{transform:scale(1.02)}.confirm-btn{background:#10b981;border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.confirm-btn:hover{background:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.confirm-btn:active{transform:translateY(0)}.no-selection{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;justify-content:center;min-height:200px;padding:40px 20px}.no-selection-content{color:#6b7280;text-align:center}.no-selection-icon{color:#d1d5db;height:48px;margin-bottom:16px;width:48px}.no-selection-content h3{color:#374151;font-size:18px;font-weight:600;margin-bottom:8px}.no-selection-content p{color:#6b7280;font-size:14px}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:16px;margin-bottom:16px;padding:12px;text-align:center}@media (max-width:640px){.community-page{padding:12px}.header-content{gap:12px}.header-text h1{font-size:24px}.header-text p{font-size:14px}.submit-report-btn{font-size:13px;padding:10px 16px}.submit-report-btn svg{height:16px;width:16px}.violation-summary{gap:16px;padding:12px}.summary-count{font-size:20px}.summary-label{font-size:11px}.community-content{gap:12px}.map-section,.violation-details{padding:12px}.see-violations-btn{font-size:12px;left:50%;padding:6px 10px;top:8px;transform:translateX(-50%)}.see-violations-btn svg{height:12px;width:12px}.map-legend{gap:12px}.legend-item{font-size:12px}.legend-marker{height:14px;width:14px}.info-row{align-items:flex-start;flex-direction:column;gap:4px}.info-row .label{font-size:12px}.info-row .value{font-size:13px}.violation-header h3{font-size:16px}.close-btn{font-size:20px;height:28px;width:28px}.photo-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.no-selection{min-height:150px;padding:24px 16px}.no-selection-icon{height:40px;width:40px}.no-selection-content h3{font-size:16px}.no-selection-content p{font-size:13px}}@media (min-width:768px){.community-page{padding:20px}.header-text h1{font-size:32px}.header-content{align-items:center;flex-direction:column;gap:16px;text-align:center}.header-actions{justify-content:center;margin-top:0}.violation-summary{gap:32px;padding:20px}.summary-count{font-size:28px}.community-content{gap:20px}.map-section,.violation-details{padding:24px}.map-legend{gap:20px}.legend-item{font-size:14px}.legend-marker{height:18px;width:18px}.info-row .label,.info-row .value{font-size:15px}.violation-header h3{font-size:20px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (min-width:1024px){.community-content{flex-direction:row;gap:24px}.map-section{flex:2 1}.no-selection,.violation-details{flex:1 1;max-width:400px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.confirmation-modal{max-width:500px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.modal-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-body{margin-bottom:24px}.confirmation-info{display:flex;flex-direction:column;gap:20px}.vehicle-info{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;padding:16px}.vehicle-info h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:4px}.vehicle-info p{color:#6b7280;font-size:14px;margin:0}.confirmation-steps h4{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:12px;text-align:left}.confirmation-steps ol{color:#374151;font-size:14px;line-height:1.6;margin:0;padding-left:20px;text-align:left}.confirmation-steps li{margin-bottom:8px;text-align:left}.confirmation-note{padding:12px}.confirmation-note p{color:#92400e;font-size:13px;line-height:1.5;margin:0}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-btn.secondary{background:#f3f4f6;color:#374151}.modal-btn.secondary:hover{background:#e5e7eb}.modal-btn.primary{background:#3b82f6;color:#fff}.modal-btn.primary:hover{background:#2563eb}@media (max-width:640px){.confirmation-modal{max-width:none;width:95%}.modal-header h3{font-size:18px}.vehicle-info h4{font-size:16px}.confirmation-steps h4{font-size:14px;text-align:left}.confirmation-steps ol{text-align:left}.confirmation-steps li{font-size:13px;text-align:left}.modal-actions{flex-direction:column}.modal-btn{padding:12px;width:100%}}.confirm-violation-page{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;flex-direction:column;min-height:100vh;padding:20px}.page-header{color:#1f2937;margin-bottom:32px;text-align:center}.page-header h1{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:8px}.page-header p{color:#6b7280;font-size:16px;margin:0}.violation-details{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:24px;max-width:600px;padding:24px;width:100%}.vehicle-info{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:20px}.vehicle-info h3{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 8px}.violation-type{color:#6b7280;font-size:16px;margin:0 0 4px}.location{color:#9ca3af;font-size:14px;margin:0}.original-photos h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.photo-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.photo-item{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;position:relative}.photo-item img{height:100%;object-fit:cover;width:100%}.remove-photo{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .2s ease;width:20px}.remove-photo:hover{background:#ef4444;transform:scale(1.1)}.review-section,.upload-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;max-width:600px;padding:24px;width:100%}.review-section h3,.upload-section h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px}.review-section p,.upload-section p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.upload-area{margin-bottom:24px}.file-input{display:none}.upload-button{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;transition:all .2s ease}.upload-button:hover{background:#f0f9ff;border-color:#3b82f6;color:#3b82f6}.upload-button svg{height:28px;margin-bottom:8px;opacity:.8;width:28px}.upload-button span{font-size:16px;font-weight:500}.new-photos{margin-bottom:24px}.new-photos h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.review-photos{margin-bottom:24px}.review-photos h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.confirmation-note{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:24px;padding:16px;text-align:left}.confirmation-note h4{color:#92400e;font-size:16px;font-weight:600;margin:0 0 12px;text-align:left}.confirmation-note ul{color:#92400e;line-height:1.5;margin:0;padding-left:20px;text-align:left}.confirmation-note li{font-size:14px;line-height:1.5;margin-bottom:6px;text-align:left}.action-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.action-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;width:100%}.action-btn.secondary{background:#f3f4f6;color:#374151}.action-btn.secondary:hover{background:#e5e7eb}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb;transform:translateY(-1px)}.action-btn.primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.success-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;max-width:500px;padding:40px 24px;text-align:center;width:100%}.success-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.success-icon svg{height:32px;width:32px}.success-container h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.success-container p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 24px}.success-container .action-btn{display:block;margin:0 auto;min-width:200px;width:auto}.violation-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px;text-align:left}.violation-summary h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.violation-summary p{color:#6b7280;font-size:14px;margin:0 0 4px}.error-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;max-width:500px;padding:40px 24px;text-align:center;width:100%}.error-container h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.error-container p{color:#6b7280;font-size:16px;margin:0 0 24px}@media (min-width:640px){.action-buttons{flex-direction:row;justify-content:flex-end}.action-btn{min-width:120px;width:auto}}@media (max-width:640px){.confirm-violation-page{padding:16px}.page-header h1{font-size:28px}.page-header p{font-size:14px}.review-section,.upload-section,.violation-details{padding:20px}.vehicle-info h3{font-size:20px}.photo-grid{gap:6px;grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.upload-button{padding:32px 16px}.upload-button svg{height:24px;width:24px}.upload-button span{font-size:14px}.action-btn{padding:14px 24px}.error-container,.success-container{padding:32px 20px}.error-container h2,.success-container h2{font-size:20px}.error-container p,.success-container p{font-size:14px}.success-icon{height:48px;width:48px}.success-icon svg{height:24px;width:24px}}
/*# sourceMappingURL=main.36739142.css.map*/