*{box-sizing:border-box;padding:0}*,body{margin:0}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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-box h1{color:#333;font-size:28px;margin-bottom:10px;text-align:center}.login-box h2{color:#666;font-size:20px;font-weight:400;margin-bottom:30px;text-align:center}.form-group input{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.error-message{background-color:#fee;border-radius:5px;color:#c33;margin-bottom:20px;padding:12px;text-align:center}button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:transform .2s;width:100%}button[type=submit]:hover:not(:disabled){transform:translateY(-2px)}button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.demo-credentials{border-top:1px solid #eee;color:#666;font-size:14px;margin-top:30px;padding-top:20px;text-align:center}.demo-credentials p{margin:5px 0}.sensor-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;overflow:hidden;transition:transform .3s,box-shadow .3s}.sensor-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.sensor-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.sensor-info h3{color:#333;font-size:18px;margin:0 0 5px}.sensor-location{color:#999;font-size:13px;margin:0}.sensor-status{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px;white-space:nowrap}.sensor-body{padding:20px}.sensor-reading{margin-bottom:20px;text-align:center}.reading-value{color:#667eea;font-size:48px;font-weight:700;line-height:1}.reading-type{color:#666;font-size:14px;letter-spacing:1px;margin-top:10px;text-transform:uppercase}.sensor-details{background-color:#f9f9f9;border-radius:5px;padding:15px}.detail-row{display:flex;font-size:14px;justify-content:space-between;padding:5px 0}.detail-row span:first-child{color:#666}.detail-row span:last-child{color:#333;font-weight:500}.sensor-footer{border-top:1px solid #eee;padding:15px 20px;text-align:right}.edit-btn{background-color:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:background-color .3s}.edit-btn:hover{background-color:#5568d3}.building-selector{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px;padding:20px}.building-selector h3{color:#333;font-size:16px;margin:0 0 15px}.building-buttons{display:flex;flex-wrap:wrap;gap:10px}.building-buttons button{background-color:#fff;border:2px solid #ddd;border-radius:25px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.building-buttons button:hover{border-color:#667eea;color:#667eea}.building-buttons button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.alerts-list{margin-bottom:30px}.alerts-list h2{color:#f44336;font-size:24px;margin-bottom:20px}.alerts-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.alert-card{background:#fff;border-left:4px solid #f44336;border-radius:10px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.alert-header{align-items:center;background-color:#fff8f7;display:flex;justify-content:space-between;padding:15px 20px}.alert-severity{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px}.alert-time{color:#999;font-size:12px}.alert-body{padding:20px}.alert-body h4{color:#333;font-size:16px;margin:0 0 10px}.alert-body p{color:#666;line-height:1.5;margin:0 0 15px}.alert-location{border-top:1px solid #eee;color:#999;font-size:13px;padding-top:10px}.alert-footer{border-top:1px solid #eee;padding:15px 20px;text-align:right}.resolve-btn{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:background-color .3s}.resolve-btn:hover{background-color:#45a049}@media (max-width:768px){.alerts-container{grid-template-columns:1fr}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;font-size:24px;margin:0}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:32px;height:32px;line-height:1;padding:0;width:32px}.close-btn:hover{color:#333}.modal-content form{padding:20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.form-group.checkbox,.form-group.checkbox label{align-items:center;display:flex}.form-group.checkbox label{margin:0}.form-group.checkbox input{margin-right:10px;width:auto}.modal-actions{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.cancel-btn,.save-btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.cancel-btn{background-color:#f5f5f5;color:#666}.cancel-btn:hover{background-color:#e0e0e0}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.save-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.dashboard{background-color:#f5f5f5;min-height:100vh}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-content h1{font-size:28px;margin:0}.header-actions{align-items:center;display:flex;gap:15px}.user-info{font-size:14px;opacity:.9}.logout-btn,.refresh-btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.refresh-btn{background-color:#fff3;color:#fff}.refresh-btn:hover{background-color:#ffffff4d}.logout-btn{background-color:#ffffffe6;color:#764ba2}.logout-btn:hover{background-color:#fff}.dashboard-content{margin:0 auto;max-width:1400px;padding:30px 20px}.filters-section{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.sensor-type-filter{align-items:center;display:flex;gap:10px}.sensor-type-filter label{color:#333;font-size:14px;font-weight:500}.sensor-type-filter select{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px}.sensor-type-filter select:focus{border-color:#667eea;outline:none}.action-buttons{display:flex;gap:10px;margin-left:auto}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.create-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:25px;text-align:center}.stat-card h3{color:#666;font-size:14px;font-weight:500;margin:0 0 15px;text-transform:uppercase}.stat-value{color:#333;font-size:48px;font-weight:700}.stat-card.active .stat-value{color:#4caf50}.stat-card.inactive .stat-value{color:#ff9800}.stat-card.alerts .stat-value{color:#f44336}.sensors-section{margin-top:30px}.sensors-section h2{color:#333;font-size:24px;margin-bottom:20px}.sensors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.empty-state{background:#fff;border-radius:10px;color:#999;padding:60px 20px;text-align:center}.empty-state p{font-size:18px}@media (max-width:768px){.header-content{flex-direction:column;gap:15px}.header-actions{flex-direction:column;width:100%}.logout-btn,.refresh-btn{width:100%}.filters-section{align-items:stretch;flex-direction:column}.action-buttons{flex-direction:column;margin-left:0}.create-btn{width:100%}.sensors-grid,.stats-grid{grid-template-columns:1fr}}.App{min-height:100vh}.loading{align-items:center;color:#666;display:flex;font-size:24px;height:100vh;justify-content:center}
/*# sourceMappingURL=main.3fbc5d27.css.map*/