body{
    margin:0;
    font-family:sans-serif;
    background:#0f172a;
    color:white;
}

.layout{display:flex;height:100vh;}

.sidebar{
    width:220px;
    background:#020617;
    padding:15px;
}

.sidebar a{
    display:block;
    color:#94a3b8;
    padding:8px;
    border-radius:8px;
    text-decoration:none;
}

.sidebar a:hover{
    background:#1e293b;
    color:white;
}

.content{flex:1;padding:20px;}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:10px;
}

.card{
    position:relative;
    border-radius:10px;
    overflow:hidden;
    cursor:pointer;
}

.card img{
    width:100%;
    height:140px;
    object-fit:cover;
}

.checkbox{
    position:absolute;
    top:8px;
    left:8px;
}

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.topbar h1 {
    margin: 0;
}

.topbar small {
    color: #94a3b8;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    justify-content: center;
    align-items: center;
}

.modal img {
    max-width: 90%;
    max-height: 90%;
}

/* MODAL FULLSCREEN */
.modal {
    display: none;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.95);
    justify-content: center;
    align-items: center;
}

/* GAMBAR BESAR */
.modal img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 10px;
    animation: zoom 0.3s ease;
}

/* ANIMASI */
@keyframes zoom {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* TOMBOL CLOSE */
.close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 25px;
    cursor: pointer;
}