/* 消息通知条（bootstrap-notify）：顶部居中、窄体、扁平实色，参考 Light-Year 模板配色 */
[data-notify="container"].alert {
    flex: none; width: auto; min-width: 240px; max-width: min(420px, 90vw);
    border: 0; border-radius: 2px; box-shadow: 0 2px 10px rgba(16, 24, 40, .16);
    padding: 10px 34px 10px 14px; margin: 0 auto; font-size: 14px; line-height: 1.5;
    color: #fff; text-align: left;
}
[data-notify="container"].alert-success { background: #15c377; color: #fff; }
[data-notify="container"].alert-info    { background: #48b0f7; color: #fff; }
[data-notify="container"].alert-warning { background: #faa64b; color: #fff; }
[data-notify="container"].alert-danger  { background: #f96868; color: #fff; }
[data-notify="icon"] { font-size: 15px; margin-right: 6px; vertical-align: -1px; }
[data-notify="title"] { font-weight: 600; margin-right: 4px; }
[data-notify="dismiss"] {
    position: absolute !important; right: 6px !important; top: 50% !important; transform: translateY(-50%);
    width: 24px; height: 24px; line-height: 22px; padding: 0; border: 0; border-radius: 3px;
    background: transparent; color: rgba(255, 255, 255, .72);
    font-size: 20px; text-shadow: none; opacity: 1; cursor: pointer;
}
[data-notify="dismiss"]:hover { color: #fff; background: rgba(0, 0, 0, .14); }

@keyframes xbNotifyIn  { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes xbNotifyOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-14px); } }
@keyframes xbNotifyShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); } 40% { transform: translateX(5px); }
    60% { transform: translateX(-3px); } 80% { transform: translateX(2px); }
}
.animated.fadeInUp    { animation: xbNotifyIn .28s ease both; }
.animated.fadeOutDown { animation: xbNotifyOut .24s ease both; }
.animated.shake       { animation: xbNotifyShake .42s ease both; }
