JSFiddle - React, Tailwind, and code Playground

HTML

<body>
    <div id="messagestack">
        <div class="confirmation">
            A green confirmation message!
        </div>
        <div class="notice">
            A massively long, multi-line-spreading notice message with a lot of information within to be read.
        </div>
        <div class="warning">
            An orange warning message!
        </div>
        <div class="error">
            A red error message!
        </div>
        <div class="loading">
            Loading data is in progress...
        </div>
    </div>
</body>

CSS

body {
    font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #333;
}

#messagestack {
	position: absolute;
	bottom: 14px;
	right: 5px;
	z-index: 50000;
	width: auto;
	height: auto;
	max-height: 85%;
	overflow-y: auto;
	padding: 2px;
}

#messagestack div {
	display: block;
	position: relative;
	width: 280px;
	height: auto;
	min-height: 16px;
	margin: 3px 2px 5px 2px;
	color: #555;
	font-weight: bold;
	padding: 8px 10px 7px 30px;
	border-radius: 4px;
	border: 1px solid #999;
	border-left-width: 5px;

	background: rgba(64,64,64,0.85);
	background: -moz-linear-gradient(top,  rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(64,64,64,0.85)), color-stop(100%,rgba(48,48,48,0.85)));
	background: -webkit-linear-gradient(top,  rgba(64,64,64,0.85) 0%,rgba(48,48,48,0.85) 100%);
	background: -o-linear-gradient(top,  rgba(64,64,64,0.85) 0%,rgba(48,48,48,0.85) 100%);
	background: -ms-linear-gradient(top,  rgba(64,64,64,0.85) 0%,rgba(48,48,48,0.85) 100%);
	background: linear-gradient(to bottom,  rgba(64,64,64,0.85) 0%,rgba(48,48,48,0.85) 100%);

	border-color: #999;
	color: #ebebeb;
	text-shadow: 0 1px 1px #000;
	border: 1px solid #444;

	box-shadow: 0 0 4px 1px rgba(50,50,50,0.8);
	-moz-box-shadow: 0 0 4px 1px rgba(50,50,50,0.8);
	-webkit-box-shadow: 0 0 4px 1px rgba(50,50,50,0.8);
	-o-box-shadow: 0 0 4px 1px rgba(50,50,50,0.8);

	cursor: default;
}

#messagestack div:after {
	content: "";
	position: absolute;
	top: 0;
	left: 4px;
	width: 20px;
	height: 24px;
	background: url(http://docs.roundcube.net/static/messages_dark.png) 0 6px no-repeat;
}

#messagestack div.warning {
	color: #f4bf0e;
	box-shadow: 0 0 4px 1px #960;
}

#messagestack div.warning:after {
	background-position: 0 -84px;
}

#messagestack div.error {
	color: #ff615d;
	box-shadow: 0 0 4px 1px #f82f17;
}

#messagestack div.error:after {
	background-position: 0 -55px;
}

#messagestack...