*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

body{
background:#0e1117;
color:#fff;
}

.app{
display:flex;
min-height:100vh;
}

/* sidebar */

.sidebar{
width:220px;
background:#0b0f14;
border-right:1px solid #1d2330;
padding:30px 20px;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.logo{
font-size:22px;
font-weight:bold;
margin-bottom:30px;
}

.logo span{
color:#00d9ff;
}

.sidebar nav a{
display:block;
padding:12px;
color:#aaa;
text-decoration:none;
border-radius:6px;
margin-bottom:6px;
}

.sidebar nav a:hover,
.sidebar nav .active{
background:#1b2230;
color:#fff;
}

/* main */

.main{
flex:1;
padding:30px;
}

/* topbar */

.topbar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.btn{
padding:10px 18px;
border-radius:6px;
text-decoration:none;
margin-left:8px;
}

.login{
background:#222;
color:#fff;
}

.daftar{
background:#00d9ff;
color:#000;
}

/* dashboard grid */

.grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.panel{
background:#161b22;
padding:20px;
border-radius:10px;
}

.panel.hero{
grid-column:span 3;
background:#1b2330;
}

.panel.large{
grid-column:span 2;
}

/* terminal */

.terminal{
background:#000;
padding:25px;
border-radius:10px;
font-family:monospace;
}

.line{
color:#00ff88;
margin-bottom:10px;
}

/* contact */

.contact-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.contact-box{
background:#161b22;
padding:20px;
border-radius:10px;
}

a{
color: inherit;
text-decoration: none;
}
/* =========================
RESPONSIVE DESIGN
========================= */

/* Tablet */
@media (max-width: 1024px){

.grid{
grid-template-columns:repeat(2,1fr);
}

.panel.hero{
grid-column:span 2;
}

.panel.large{
grid-column:span 2;
}

.contact-grid{
grid-template-columns:1fr;
}

}


/* Mobile */
@media (max-width: 768px){

.app{
flex-direction:column;
}

/* Sidebar menjadi top menu */

.sidebar{
width:100%;
flex-direction:row;
align-items:center;
justify-content:space-between;
padding:15px 20px;
}

.sidebar nav{
display:flex;
gap:10px;
}

.sidebar nav a{
margin-bottom:0;
padding:8px 12px;
font-size:14px;
}

.side-footer{
display:none;
}

/* main */

.main{
padding:20px;
}

/* topbar */

.topbar{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.top-actions{
display:flex;
gap:8px;
}

/* grid dashboard */

.grid{
grid-template-columns:1fr;
}

.panel.hero{
grid-column:span 1;
}

.panel.large{
grid-column:span 1;
}

/* contact */

.contact-grid{
grid-template-columns:1fr;
}

/* terminal */

.terminal{
font-size:14px;
}

}


/* Small Mobile */
@media (max-width:480px){

.logo{
font-size:18px;
}

.btn{
padding:8px 12px;
font-size:14px;
}

.panel{
padding:16px;
}

}