/* ================= GLOBAL ================= */
html,body{
margin:0;
padding:0;
width:100%;
min-height:100%;
}

body{
font-family:Arial, sans-serif;
background:linear-gradient(135deg,#0f172a,#1e293b);
color:white;
}

/* ================= CONTAINER ================= */
.container{
display:flex;
flex-direction:column;
min-height:100vh;
padding:20px;
box-sizing:border-box;
gap:20px;
}

/* ================= TITLE ================= */
h1{
text-align:center;
margin:0;
font-size:28px;
letter-spacing:1px;
margin-bottom:10px;
}

/* ================= SECTIONS ================= */
.top-section,
.middle-section{
display:flex;
gap:20px;
}

/* ================= BOTTOM SECTION (2 BARIS) ================= */
.bottom-section{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}

/* ================= CARD ================= */
.card{
background:#1e293b;
padding:20px;
border-radius:16px;
flex:1;
display:flex;
flex-direction:column;
box-sizing:border-box;
box-shadow:0 10px 25px rgba(0,0,0,0.35);
transition:0.2s ease;
}

.card:hover{
transform:translateY(-3px);
}

/* ================= CARD TITLE (CENTER) ================= */
.card h3{
text-align:center;
margin-bottom:15px;
font-size:16px;
font-weight:600;
}

/* ================= GAUGE ================= */
.gauge canvas{
width:100%;
height:200px !important;
}

/* ================= CHART ================= */
.chart canvas{
width:100%;
height:240px !important;
}

/* ================= STATUS ================= */
.status-grid{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:15px;
margin-top:15px;
}

.status-box{
padding:12px;
text-align:center;
border-radius:12px;
font-weight:bold;
font-size:14px;
}

.good{background:#16a34a;}
.bad{background:#dc2626;}
.blink{animation:blink 1s infinite;}

@keyframes blink{
50%{opacity:0.4;}
}

/* ================= INFO ================= */
.running,
.timestamp{
margin-top:12px;
font-size:14px;
opacity:0.85;
}

.fuel-value,
.jarak-value{
font-size:42px;
text-align:center;
margin-top:25px;
font-weight:bold;
}

/* ================= RESPONSIVE ================= */
@media(max-width:1024px){

.top-section,
.middle-section{
flex-direction:column;
}

.bottom-section{
grid-template-columns:1fr;
}

.status-grid{
grid-template-columns:1fr;
}

}