.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{text-align:center;color:#2c3e50;margin-bottom:.5rem}.login-box h2{text-align:center;color:#7f8c8d;font-size:1rem;font-weight:400;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.login-button{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:#5568d3}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center}.dashboard h1{margin-bottom:2rem;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.stat-label{color:#7f8c8d;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.dashboard-loading{text-align:center;padding:2rem}.data-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.data-table thead{background-color:#34495e;color:#fff}.data-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:1rem;border-top:1px solid #ecf0f1}.data-table tbody tr:hover{background-color:#f8f9fa}.btn-primary{background-color:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-primary:hover{background-color:#5568d3}.btn-danger{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-danger:hover{background-color:#c0392b}.btn-success{background-color:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-success:hover{background-color:#229954}.btn-warning{background-color:#f39c12;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-warning:hover{background-color:#e67e22}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background-color:#d4edda;color:#155724}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-warning{background-color:#fff3cd;color:#856404}.badge-info{background-color:#d1ecf1;color:#0c5460}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:1.5rem;color:#2c3e50}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#667eea}.modal-content .form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.modal-actions button[type=button]{background-color:#95a5a6;color:#fff}.modal-actions button[type=button]:hover{background-color:#7f8c8d}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar-header{padding:1.5rem;border-bottom:1px solid #34495e}.sidebar-header h1{font-size:1.5rem;font-weight:600}.sidebar-status{padding:1rem 1.5rem;border-bottom:1px solid #34495e}.status-indicator{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;transition:background-color .2s}.status-degraded{background-color:#ffc10726;border:1px solid rgba(255,193,7,.3)}.status-good{background-color:#27ae6026;border:1px solid rgba(39,174,96,.3)}.status-icon{font-size:1.25rem;line-height:1.2;flex-shrink:0}.status-text{flex:1;min-width:0}.status-label{font-weight:600;font-size:.875rem;margin-bottom:.25rem;color:#ecf0f1}.status-degraded .status-label{color:#ffc107}.status-good .status-label{color:#27ae60}.status-detail{font-size:.75rem;color:#bdc3c7;line-height:1.3}.nav-list{list-style:none;flex:1;padding:1rem 0}.nav-list li{margin:.25rem 0}.nav-list a{display:block;padding:.75rem 1.5rem;color:#ecf0f1;text-decoration:none;transition:background-color .2s}.nav-list a:hover{background-color:#34495e}.nav-list a.active{background-color:#3498db;color:#fff}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid #34495e}.user-info{margin-bottom:1rem}.user-email{font-weight:600;margin-bottom:.25rem}.user-role{font-size:.875rem;color:#bdc3c7;text-transform:capitalize}.logout-btn{width:100%;padding:.5rem;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.content{margin-left:250px;flex:1;padding:2rem;background-color:#f5f5f5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
