:root {
    --sidebar-bg: #ffffff;
    --main-bg: #f8f9fa;
    --primary-purple: #a55eea;
    --card-blue: #dff9fb;
    --card-orange: #ffeaa7;
    --card-red: #ff7675;
    --card-green: #55efc4;
}

body {
    background-color: var(--main-bg);
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden;
}

.sidebar {
    min-height: 100vh;
    width: 250px;
    background: var(--sidebar-bg);
    position: fixed;
    top: 0;
    left: 0;
    padding: 20px;
    box-shadow: 2px 0 5px rgba(0,0,0,0.05);
    z-index: 1000;
}

.brand-logo {
    font-size: 24px;
    font-weight: bold;
    color: #2d3436;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-link {
    color: #636e72;
    font-weight: 500;
    padding: 12px 15px;
    border-radius: 10px;
    margin-bottom: 5px;
    transition: 0.3s;
    text-decoration: none;
    display: block;
}

.nav-link:hover, .nav-link.active {
    background-color: #f1f2f6;
    color: var(--primary-purple);
}

.main-content {
    margin-left: 250px;
    padding: 30px;
}

.upload-card {
    background: white;
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.btn-upload {
    background-color: var(--primary-purple);
    color: white;
    padding: 15px 60px;
    border-radius: 15px;
    font-size: 18px;
    font-weight: 600;
    border: none;
    transition: 0.3s;
    cursor: pointer;
}

.btn-upload:hover {
    background-color: #8854d0;
}

.param-card {
    border-radius: 20px;
    padding: 20px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #2d3436;
}

.bg-blue { background-color: var(--card-blue); }
.bg-orange { background-color: var(--card-orange); }
.bg-red { background-color: var(--card-red); }
.bg-green { background-color: var(--card-green); }

.param-value { font-size: 22px; font-weight: bold; margin: 0; }
.param-label { font-size: 12px; color: #636e72; margin: 0; }

/* =========================================
   RESPONSIVE MEDIA QUERIES (UNTUK HP/TABLET)
   ========================================= */

/* Target: Layar dengan lebar di bawah 768px (HP & Tablet Posisi Portrait) */
@media (max-width: 768px) {

    /* 1. SEMBUNYIKAN SIDEBAR DI HP */
    /* Sidebar memakan terlalu banyak tempat di layar kecil */
    .sidebar {
        display: none !important; /* Paksa sembunyi */
    }

    /* 2. PERBAIKI KONTEN UTAMA */
    /* Karena sidebar hilang, konten utama harus memenuhi layar */
    .main-content {
        margin-left: 0 !important; /* Hapus jarak kiri */
        width: 100% !important;    /* Lebar penuh */
        padding: 20px;             /* Kurangi padding agar tidak terlalu sempit */
    }

    /* 3. PERBAIKI KARTU LOGIN/REGISTER DI HP */
    /* Kurangi padding agar tidak terlihat terlalu "gemuk" di layar sempit */
    .login-card {
        padding: 20px !important; /* Padding lebih kecil di HP */
        width: 90% !important;    /* Jangan 100% penuh, beri sedikit jarak di pinggir */
        margin: 0 auto;           /* Tengahkan kartu */
    }
    
    /* Font size di HP mungkin perlu sedikit dikecilkan jika terasa terlalu besar */
    body {
        font-size: 14px;
    }
    h2 {
        font-size: 1.8rem;
    }
}

/* =========================================
   NAVBAR KHUSUS MOBILE (Top Bar Sederhana)
   ========================================= */
/* Navbar ini hanya akan muncul di layar kecil */
.mobile-navbar {
    display: none; /* Default sembunyi di laptop */
    background-color: white;
    padding: 15px 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    align-items: center;
    justify-content: space-between;
}

/* Tampilkan mobile navbar HANYA di layar kecil */
@media (max-width: 768px) {
    .mobile-navbar {
        display: flex; /* Munculkan di HP */
    }
    
    /* Tambahkan padding-top di body agar konten tidak tertutup navbar atas */
    body {
        padding-top: 60px; 
    }
    /* Khusus halaman login, batalkan padding-top */
    body.login-page {
        padding-top: 0;
    }
}