body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-bottom:1px solid #00000014;box-shadow:0 2px 12px #0000000f;padding:2rem 0}.header-content{margin:0 auto;max-width:1200px;padding:0 2rem;text-align:center}.app-title{align-items:center;color:#2d3748;display:flex;font-size:2.5rem;font-weight:700;gap:.5rem;justify-content:center;margin-bottom:.5rem}.title-icon{animation:pulse 2s infinite;font-size:2rem}.app-subtitle{color:#718096;font-size:1.1rem;font-weight:400;margin-bottom:1.5rem}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.refresh-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.refresh-button:disabled{cursor:not-allowed;opacity:.7}.last-updated{background:#667eea1a;border-radius:25px;color:#667eea;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.app-main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.stats-bar{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #fff3;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:1rem 1.5rem;text-align:center}.stat-number{color:#667eea;display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#718096;font-size:.9rem;font-weight:500}.cameras-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.camera-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 25px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.camera-card:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-5px)}.camera-card:active{transform:translateY(-2px)}.camera-header{border-bottom:1px solid #0000000d;padding:1.5rem 1.5rem 1rem}.camera-title{align-items:center;color:#2d3748;display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.camera-icon{font-size:1.2rem}.camera-meta{align-items:center;display:flex;justify-content:space-between}.timestamp{background:#667eea1a;border-radius:15px;color:#667eea;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.image-container{overflow:hidden;position:relative}.camera-image{display:block;height:auto;transition:transform .3s ease;width:100%}.camera-card:hover .camera-image{transform:scale(1.02)}.image-overlay{background:#000000b3;border-radius:0 0 0 15px;color:#fff;font-size:.8rem;font-weight:500;padding:.5rem .75rem;position:absolute;right:0;top:0}.camera-footer{background:#00000005;padding:1rem 1.5rem 1.5rem}.camera-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{color:#718096;font-size:.9rem}.detail-item strong{color:#4a5568;margin-right:.5rem}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#667eea;height:60px;margin-bottom:1.5rem;width:60px}.loading-container h2{color:#fff;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.loading-container p{color:#fffc;font-size:1.1rem}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-container h2{color:#fff;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.error-container p{color:#fffc;font-size:1.1rem;margin-bottom:2rem}.retry-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.retry-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.no-data{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:20px;display:flex;flex-direction:column;justify-content:center;min-height:40vh;padding:3rem;text-align:center}.no-data-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-data h3{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.no-data p{color:#718096;font-size:1.1rem}.app-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;margin-top:auto;padding:1.5rem;text-align:center}.app-footer p{color:#fffc;font-size:.9rem}.app-footer a{color:#667eea;font-weight:500;text-decoration:none;transition:color .3s ease}.app-footer a:hover{color:#764ba2}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.expanded-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.expanded-modal{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #fff3;border-radius:25px;box-shadow:0 25px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:auto}.expanded-header{align-items:center;background:#fffffff2;border-bottom:1px solid #00000014;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.expanded-title{color:#2d3748;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0}.close-button,.expanded-title{align-items:center;display:flex}.close-button{background:#667eea1a;border:none;border-radius:50%;color:#667eea;cursor:pointer;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-button:hover{background:#667eea33;transform:scale(1.1)}.expanded-image-container{background:#00000005;flex-shrink:0;padding:2rem;text-align:center}.expanded-image{border-radius:15px;box-shadow:0 10px 30px #0003;height:600px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:contain;transition:transform .3s ease;width:800px}.expanded-image:hover{transform:scale(1.02)}.expanded-details{background:#fffffff2;flex-shrink:0;padding:1.5rem 2rem 2rem}.detail-row{align-items:center;border-bottom:1px solid #0000000d;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#4a5568;font-size:.95rem;font-weight:600}.detail-value{color:#718096;font-size:.95rem;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.app-title{font-size:2rem}.title-icon{font-size:1.5rem}.app-main{padding:1rem}.cameras-grid{gap:1.5rem;grid-template-columns:1fr}.header-actions{flex-direction:column;gap:.75rem}.stats-bar{gap:1rem}.stat-item{padding:.75rem 1rem}.expanded-overlay{padding:1rem}.expanded-modal{border-radius:20px;max-height:95vh;max-width:95vw}.expanded-header{padding:1rem 1.5rem}.expanded-title{font-size:1.3rem}.expanded-image-container{padding:1rem}.expanded-image{height:450px;width:600px}.expanded-details{padding:1rem 1.5rem 1.5rem}.detail-row{align-items:flex-start;flex-direction:column;gap:.25rem}}@media (max-width:480px){.header-content{padding:0 1rem}.app-main{padding:.75rem}.camera-card{border-radius:15px}.camera-footer,.camera-header{padding:1rem}.expanded-overlay{padding:.5rem}.expanded-modal{border-radius:15px;max-height:98vh;max-width:98vw}.expanded-header{padding:.75rem 1rem}.expanded-title{font-size:1.1rem}.expanded-image-container{padding:.75rem}.expanded-image{height:300px;width:400px}.expanded-details{padding:.75rem 1rem 1rem}.close-button{font-size:1rem;height:35px;width:35px}}
/*# sourceMappingURL=main.40ee651c.css.map*/