body{
margin:0;
font-family: 'Segoe UI', sans-serif;
background:#f2f4f7;
color:#2c3e50;
}

/* LAYOUT */

.container{
display:flex;
height:100vh;
}

/* SIDEBAR */

.sidebar{
width:240px;
background:#0f1c2e;
color:white;
padding:20px;
}

.logo{
font-size:18px;
font-weight:bold;
margin-bottom:30px;
color:#ffd43b;
}

.menu{
padding:12px 15px;
margin-bottom:10px;
border-radius:6px;
cursor:pointer;
}

.menu:hover{
background:#1f3556;
}

.menu.active{
background:#3a8dcc;
}

/* CONTENT */

.content{
flex:1;
padding:30px;
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}

.clock{
background:#e8ebef;
padding:8px 14px;
border-radius:20px;
font-weight:bold;
}

/* CARD GRID */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:20px;
}

/* CARD */

.card{
background:white;
border-radius:12px;
padding:20px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
cursor:pointer;
transition:0.2s;
}

.card:hover{
transform:translateY(-3px);
}

.card-title{
font-size:12px;
font-weight:600;
letter-spacing:1px;
color:#7f8c8d;
}

.card-value{
font-size:34px;
font-weight:bold;
margin:10px 0;
}

.status-ok{
color:#2ecc71;
font-weight:bold;
font-size:28px;
}

/* MINI GRAPH */

canvas{
margin-top:10px;
}

/* HISTORY */

.history{
margin-top:40px;
background:white;
padding:20px;
border-radius:10px;
box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

table{
width:100%;
border-collapse:collapse;
}

th,td{
padding:10px;
border-bottom:1px solid #eee;
}

.status-ok{
    color:#2ecc71;
    font-weight:bold;
}

.status-problem{
    color:#e74c3c;
    font-weight:bold;
}