*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#1a1a1a;color:#fff;overflow-x:hidden}.container{min-height:100vh;display:flex;flex-direction:column;padding:2rem;max-width:1920px;margin:0 auto}header{text-align:center;margin-bottom:2rem}header .logo{height:60px;margin-bottom:1rem;opacity:.9;transition:opacity .3s ease}header .logo:hover{opacity:1}header h1{font-size:3rem;font-weight:700;margin-bottom:.5rem;color:#00d4ff;text-transform:uppercase;letter-spacing:.1em}header .subtitle{font-size:1.2rem;color:#999;font-weight:300}.camera-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem;flex:1;margin-bottom:2rem}.camera-container{background:#2a2a2a;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.5);display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.camera-container:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(255,0,255,.2)}.camera-header{padding:1rem 1.5rem;background:rgba(0,0,0,.3);display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(255,0,255,.2)}.camera-header h2{font-size:1.5rem;font-weight:600;letter-spacing:.05em}.camera-header .status{padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.camera-header .status.connecting{background:#fa0;color:#1a1a1a}.camera-header .status.connected{background:#4f4;color:#1a1a1a}.camera-header .status.disconnected,.camera-header .status.error{background:#f44;color:#fff}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;background:#000;overflow:hidden}.video-wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.video-wrapper .loading,.video-wrapper .error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(0,0,0,.8)}.video-wrapper .error p{font-size:1.2rem;margin-bottom:1rem;color:#f44}.video-wrapper .error button{padding:.8rem 2rem;background:#00d4ff;color:#1a1a1a;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.video-wrapper .error button:hover{background:rgb(51,220.6,255)}.spinner{width:50px;height:50px;border:4px solid hsla(0,0%,100%,.1);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#1a1a1a;display:flex;justify-content:center;align-items:center;z-index:1000}.login-container{text-align:center;padding:3rem;background:#2a2a2a;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.6);max-width:400px;width:90%}.login-container .login-logo{height:80px;margin-bottom:2rem;opacity:.9}.login-container h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#00d4ff;text-transform:uppercase;letter-spacing:.1em}.login-container p{font-size:1.1rem;color:#999;margin-bottom:2rem;line-height:1.5}.login-container #google-signin-button{margin:2rem auto;display:flex;justify-content:center}.login-container .error-message{display:none;margin-top:1.5rem;padding:1rem;background:rgba(255,68,68,.2);border:1px solid #f44;border-radius:8px;color:#f44;font-size:.95rem}.user-info-bar{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 0;margin-bottom:1rem}.user-info-bar .user-email{color:#999;font-size:.9rem}.user-info-bar .sign-out-btn{padding:.6rem 1.5rem;background:rgba(0,212,255,.1);color:#00d4ff;border:1px solid #00d4ff;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .3s ease,color .3s ease}.user-info-bar .sign-out-btn:hover{background:#00d4ff;color:#1a1a1a}footer{text-align:center;padding:2rem 0;color:#999;font-size:.9rem}@media(max-width: 1024px){.container{padding:1.5rem}header h1{font-size:2.5rem}.camera-grid{gap:1rem}}@media(max-width: 768px){.container{padding:1rem}header{margin-bottom:1.5rem}header .logo{height:40px}header h1{font-size:2rem}header .subtitle{font-size:1rem}.camera-grid{grid-template-columns:1fr;gap:1rem}.camera-header{padding:.8rem 1rem}.camera-header h2{font-size:1.2rem}.camera-header .status{font-size:.75rem;padding:.3rem .8rem}}@media(max-width: 480px){header h1{font-size:1.5rem}.camera-header h2{font-size:1rem}}/*# sourceMappingURL=main.css.map */
