* { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; }

body { background-color: #fce4ec; display: flex; justify-content: center; padding: 20px 0; }

#wrapper { width: 1100px; background-color: white; border: 1px solid #f8bbd0; display: flex; flex-direction: column; }

.header-banner { height: 60px; background-color: #f8bbd0; border-bottom: 1px solid white; }

.main-layout { display: flex; flex: 1; }

.vertical-menu { width: 200px; background-color: #f06292; color: white; display: flex; flex-direction: column; }

.menu-item {
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    cursor: pointer;
    font-weight: bold;
    position: relative;
}

.menu-item:hover { background-color: oldlace; color: #333; }

.submenu {
    display: none; 
    position: absolute;
    left: 100%;
    top: 0;
    width: 180px;
    background-color: #f06292;
    list-style: none;
    z-index: 10;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.submenu li { padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.1); color: white; position: relative; }

.submenu-child {
    display: none; 
    position: absolute;
    left: 100%;
    top: 0;
    width: 150px;
    background-color: #e91e63; 
    list-style: none;
}
.dropdown:hover > .submenu { display: block; }
.dropdown-submenu:hover > .submenu-child { display: block; }
.submenu li:hover { background-color: oldlace; color: #333; }
.sidebar-left { width: 150px; border-right: 1px solid #f8bbd0; padding: 15px; }
.content-container { flex: 1; display: flex; flex-direction: column; }
.top-section { padding: 15px; border-bottom: 1px solid #f8bbd0; }
.card-group { display: flex; gap: 10px; margin-top: 10px; }
.card { flex: 1; border: 1px solid #f8bbd0; padding: 10px; }
.main-area { padding: 15px; flex: 1; }
.footer { background-color: #424242; color: white; padding: 20px; }
.footer h3 { color: #f06292; }