*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;margin:0}p{line-height:1.5;margin:0}button{border:none;font-family:inherit;outline:none}button:focus{outline:2px solid #007bff;outline-offset:2px}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}@media (max-width:768px){body{font-size:14px}}.App{background-color:#f5f5f5;min-height:100vh;text-align:center}.App-header{background-color:#282c34;color:#fff;margin-bottom:20px;padding:20px}.App-header h1{font-size:2.5rem;margin:0 0 10px}.App-header p{font-size:1.2rem;margin:0;opacity:.8}.App-main{padding:20px}.App-main,.restaurant-scraper{margin:0 auto;max-width:1200px}.restaurant-scraper{width:100%}.scraper-controls{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.scraper-controls h2{color:#333;font-size:1.5rem;margin:0 0 20px}.alpha-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.alpha-button{background:#fff;border:2px solid #007bff;border-radius:6px;color:#007bff;cursor:pointer;font-size:1rem;font-weight:600;min-width:45px;padding:10px 15px;transition:all .2s ease}.alpha-button.active,.alpha-button:hover:not(:disabled){background:#007bff;color:#fff;transform:translateY(-2px)}.alpha-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.search-info{margin-top:15px;text-align:center}.search-info p{background:#f8f9fa;border-radius:4px;color:#666;font-size:1.1rem;margin:0;padding:10px}.view-controls{border-radius:8px;box-shadow:0 2px 4px #0000001a;gap:10px;justify-content:center;margin:20px 0;padding:15px}.view-button,.view-controls{background:#fff;display:flex}.view-button{align-items:center;border:2px solid #28a745;border-radius:8px;color:#28a745;cursor:pointer;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.view-button.active,.view-button:hover{background:#28a745;box-shadow:0 4px 8px #28a7454d;color:#fff;transform:translateY(-2px)}.scraper-results{min-height:200px}@media (max-width:768px){.alpha-buttons{gap:6px}.alpha-button{font-size:.9rem;min-width:40px;padding:8px 12px}.scraper-controls{padding:15px}.view-controls{align-items:center;flex-direction:column;gap:8px;padding:12px}.view-button{font-size:.9rem;justify-content:center;max-width:200px;padding:10px 20px;width:100%}}.restaurant-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:20px}.table-header h3{color:#333;font-size:1.5rem;margin:0 0 5px}.table-subtitle{color:#666;font-size:1rem;margin:0}.table-wrapper{overflow-x:auto}.restaurant-table{border-collapse:collapse;font-size:.9rem;width:100%}.restaurant-table td,.restaurant-table th{border-bottom:1px solid #dee2e6;padding:12px 15px;text-align:left}.restaurant-table th{background:#007bff;color:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.restaurant-row:hover{background-color:#f8f9fa}.restaurant-name{min-width:200px}.restaurant-name strong{color:#333;font-size:1rem}.restaurant-location{color:#555;min-width:250px}.followup-date,.inspection-date{color:#666;font-family:Courier New,monospace;min-width:120px}.status{min-width:120px}.status-badge{border-radius:4px;font-size:.85rem;letter-spacing:.5px}.status-green .status-badge{background:#28a745;border:1px solid #1e7e34;color:#fff;font-weight:700}.status-light-yellow .status-badge{background:#ffeaa7;border:1px solid #f1c40f;color:#856404;font-weight:600}.status-dark-yellow .status-badge{background:#f39c12;border:1px solid #d68910;color:#fff;font-weight:600}.status-striped-red .status-badge{background:repeating-linear-gradient(45deg,#dc3545,#dc3545 10px,#fff 0,#fff 20px);border:2px solid #dc3545;color:#721c24;font-weight:700;text-shadow:0 0 2px #fff}.status-red .status-badge{background:#dc3545;border:1px solid #bd2130;color:#fff;font-weight:700}.status-default .status-badge{background:#e2e3e5;border:1px solid #ced4da;color:#495057}.pdf-cell{min-width:120px;text-align:center}.pdf-button{align-items:center;background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.pdf-button:hover{background:#218838;transform:translateY(-1px)}.no-pdf{color:#6c757d;font-size:.85rem;font-style:italic}.no-results{color:#6c757d;padding:40px 20px;text-align:center}.no-results p{font-size:1.1rem;margin:0}@media (max-width:768px){.restaurant-table{font-size:.8rem}.restaurant-table td,.restaurant-table th{padding:8px 10px}.restaurant-name{min-width:150px}.restaurant-location{min-width:200px}.followup-date,.inspection-date,.pdf-cell,.status{min-width:100px}.pdf-button{font-size:.75rem;padding:4px 8px}.table-header{padding:15px}.table-header h3{font-size:1.25rem}}@media (max-width:480px){.table-wrapper{margin:0 -10px}.restaurant-table td,.restaurant-table th{padding:6px 8px}.restaurant-name{min-width:120px}.restaurant-location{min-width:150px}.status-badge{font-size:.7rem;padding:2px 6px}}.loading-spinner-container{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:center;padding:40px 20px}.loading-spinner{text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-message{color:#666;font-size:1rem;font-weight:500;margin:0}.restaurant-map{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:20px 0;overflow:hidden}.map-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;margin-bottom:0;padding:20px}.map-header h2{font-size:1.5rem;font-weight:600;margin:0}.map-stats{align-items:center;display:flex;gap:15px}.marker-count{background:#fff3;border-radius:20px;font-size:.9rem;font-weight:500;padding:8px 12px}.geocoding-progress{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:20px}.progress-info{align-items:center;color:#495057;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:10px}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#28a745,#20c997);border-radius:4px;height:100%;transition:width .3s ease}.map-error{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:20px;padding:40px;text-align:center}.map-error h3{color:#856404;margin-bottom:20px}.map-error p{color:#856404;margin-bottom:15px}.map-error ol{color:#856404;margin:0 auto;max-width:600px;text-align:left}.map-error ol li{margin-bottom:8px}.map-error code{background:#f8f9fa;border-radius:4px;color:#e83e8c;font-size:.9em;padding:2px 6px}.map-error a{color:#007bff;text-decoration:none}.map-error a:hover{text-decoration:underline}.map-loading{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:40px}.map-loading p{color:#6c757d;font-size:1.1rem;margin-top:15px}.map-message{background:#f8f9fa;border-radius:8px;color:#6c757d;margin:20px;padding:20px;text-align:center}.info-window{max-width:300px;padding:10px}.restaurant-name{border-bottom:2px solid #667eea;color:#333;font-size:1.1rem;font-weight:600;margin:0 0 10px;padding-bottom:5px}.restaurant-details p{font-size:.9rem;line-height:1.4;margin:8px 0}.restaurant-details strong{color:#495057}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;margin-left:8px;padding:4px 8px;text-transform:uppercase}.status-green{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-light-yellow{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-dark-yellow{background:#ffe5b4;border:1px solid #ffcd39;color:#b45309}.status-red,.status-striped-red{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-striped-red{background:repeating-linear-gradient(45deg,#f8d7da,#f8d7da 5px,#fff 0,#fff 10px)}.status-unknown{background:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.pdf-link{color:#007bff;font-weight:500;text-decoration:none}.pdf-link:hover{color:#0056b3;text-decoration:underline}@media (max-width:768px){.map-header{flex-direction:column;gap:10px;text-align:center}.map-stats{justify-content:center}.restaurant-map .google-map{height:400px!important}.info-window{max-width:250px}.progress-info{flex-direction:column;gap:5px;text-align:center}}@media (max-width:480px){.map-header{padding:15px}.map-header h2{font-size:1.3rem}.marker-count{font-size:.8rem;padding:6px 10px}.restaurant-map .google-map{height:350px!important}.info-window{max-width:220px}.restaurant-details p{font-size:.85rem}}.status-legend{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;overflow:hidden}.legend-toggle{align-items:center;background:#f8f9fa;border:none;color:#333;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;padding:15px 20px;transition:background-color .2s ease;width:100%}.legend-toggle:hover{background:#e9ecef}.legend-icon{font-size:1.2rem}.toggle-arrow{margin-left:auto;transition:transform .2s ease}.toggle-arrow.expanded{transform:rotate(180deg)}.legend-content{border-top:1px solid #dee2e6;padding:20px}.legend-content h4{color:#333;font-size:1.2rem;margin:0 0 15px}.legend-items{display:flex;flex-direction:column;gap:12px}.legend-item{align-items:flex-start;background:#f8f9fa;border-radius:6px;display:flex;gap:15px;padding:10px}.legend-badge{flex-shrink:0;margin-top:2px}.legend-badge .status-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;min-width:100px;padding:6px 12px;text-align:center;text-transform:uppercase}.legend-description{color:#555;flex:1 1;font-size:.9rem;line-height:1.4;margin:0}.legend-footer{border-top:1px solid #dee2e6;margin-top:15px;padding-top:10px;text-align:center}.legend-footer p{color:#6c757d;margin:0}.source-link{color:#007bff;text-decoration:none;transition:color .2s ease}.source-link:hover{color:#0056b3;text-decoration:underline}.legend-badge.status-green .status-badge{background:#28a745;border:1px solid #1e7e34;color:#fff}.legend-badge.status-light-yellow .status-badge{background:#ffeaa7;border:1px solid #f1c40f;color:#856404}.legend-badge.status-dark-yellow .status-badge{background:#f39c12;border:1px solid #d68910;color:#fff}.legend-badge.status-striped-red .status-badge{background:repeating-linear-gradient(45deg,#dc3545,#dc3545 8px,#fff 0,#fff 16px);border:2px solid #dc3545;color:#721c24;text-shadow:0 0 2px #fff}.legend-badge.status-red .status-badge{background:#dc3545;border:1px solid #bd2130;color:#fff}@media (max-width:768px){.legend-item{flex-direction:column;gap:8px;text-align:center}.legend-badge{align-self:center}.legend-description{text-align:left}.legend-content{padding:15px}.legend-toggle{font-size:.9rem;padding:12px 15px}}.error-message-container{justify-content:center}.error-message,.error-message-container{align-items:center;display:flex;padding:20px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;gap:15px;max-width:500px;width:100%}.error-icon{flex-shrink:0;font-size:2rem}.error-content{flex:1 1}.error-content h4{color:#721c24;font-size:1.1rem;margin:0 0 8px}.error-content p{color:#721c24;font-size:.95rem;line-height:1.4;margin:0 0 15px}.retry-button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.retry-button:hover{background:#c82333}
/*# sourceMappingURL=main.ddd0be3d.css.map*/